最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
WPF实现Socket异步通讯示例
时间:2022-06-25 08:42:49 编辑:袖梨 来源:一聚教程网
示例一
代码如下 | 复制代码 |
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 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) |
相关文章
- 荒原曙光羊皮怎么获得 10-14
- 崩坏因缘精灵佩缨章鱼怎么样 10-14
- 洛克王国世界光灵石如何获取 10-14
- 三国志幻想大陆2枭之歌颜良有什么玩法技巧 10-14
- 荒原曙光银鬃怎么捕捉 10-14
- 崩坏因缘精灵阿斯维加斯强度如何 10-14