标签:
1. Socket
public void RecvMsg() { //receive message bool isListen = true; while (isListen) { string recStr = ""; byte[] recBytes = new byte[4096]; int bytes = clientSocket.Receive(recBytes, recBytes.Length, 0); recStr += Encoding.UTF8.GetString(recBytes, 0, bytes); if (!String.IsNullOrWhiteSpace(recStr)) { if (recStr.EndsWith(Environment.NewLine)) { recStr = recStr.Substring(0, recStr.Length - Environment.NewLine.Length); } AppendContet(recStr); } } }
private void button1_Click(object sender, EventArgs e) { //send message string sendStr = txtMsg.Text; byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr); clientSocket.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, new AsyncCallback(Send_Complete), clientSocket); } private void Send_Complete(IAsyncResult e) { if (e.IsCompleted) { AppendDebugMsg("异步发送已完成"); } else { AppendDebugMsg("异步发送失败"); } var socket = e.AsyncState as Socket; if (socket == null) { AppendDebugMsg("发送异步Socket为空"); } }
public void SendAync(byte[] sendBytes) { SocketAsyncEventArgs sendSocketArgs = GlobalConfig.SendPool.Pop(); sendSocketArgs.UserToken = this; sendSocketArgs.SetBuffer(sendBytes, 0, sendBytes.Length); this.ClientSocket.SendAsync(sendSocketArgs); }
2. Socket 与 WebSocket进行相互通信
其他:
标签:
原文地址:http://www.cnblogs.com/shikyoh/p/4588403.html