private void SendCallback(IAsyncResult ar) { if (CheckIfSocketIsConnected(co.socket)) { int bytesSend = co.socket.EndSend(ar); if (ar.AsyncState != null) { ClientOnSendCallback cb = (ClientOnSendCallback)ar.AsyncState; cb(); } } }
public void BeginSend(String message, ClientOnSendCallback cb) { byte[] byteData = Encoding.ASCII.GetBytes(message); if (byteData.Length > ConnectionObject.BufferSize) { Debug.LogWarning("Message length is larger then max buffer size"); } if (co.socketConnected && co.socket.Connected) { co.socket.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), cb); } else { Debug.LogWarning("Did not send message because client was not connected"); } }
void SendMsg(String msg, ClientOnSendCallback cb) { ch.BeginSend(msg, cb); }