示例一
| 代码如下 | 复制代码 |
|
public class SocketHelper
| |
三种方式实现异步socket
| 代码如下 | 复制代码 |
|
using System; namespace ExtensionTest public class NetWork private IPEndPoint endPoint; public NetWork() server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP); public void StartListening() public void StartListeningWithIterator() private void AcceptCallback(IAsyncResult asyncResult) byte[] buffer = new byte[256]; receiveSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, ReceiveCallback, new State(receiveSocket, buffer)); // private void ReceiveCallback(IAsyncResult asyncResult) if (state != null) private void SendCallback(IAsyncResult asyncResult) private IEnumerator StartAsync(AsyncEnumerator enumerator) yield return 1; Socket receiveSocket = server.EndAccept(enumerator.DequeueAsyncResult()); byte[] buffer = new byte[256]; receiveSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, enumerator.End(), null); yield return 1; int receLength = receiveSocket.EndReceive(enumerator.DequeueAsyncResult()); if (receLength > 0) yield return 1; receiveSocket.EndSend(enumerator.DequeueAsyncResult()); private void StartAsync(Socket socket) byte[] buffer = new byte[256]; if (receLength > 0) };
private class State public State(Socket socket, byte[] bytes) | |
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)