C#异步套接字同时读取和写入
本文关键字:读取 异步 套接字 | 更新日期: 2023-09-27 18:22:17
我现在正在写一个tcp聊天服务器,我读了很多关于同步和异步套接字的文章。
我决定使用异步套接字,因为这样我就不必自己管理线程了。(有什么理由让我改变看法吗?)
在所有的文章中,都很好地解释了如何建立连接以及如何发送和接收数据,但如果可能有多条消息要发送而没有回复,则永远不会发生什么。
我的问题是,在我想发送东西之前,我必须打电话给socket.endreceiving()
吗???如果我不这样做,如果我在想发送消息的同时收到消息,会发生什么???(有多个线程,但仍然有一个底层套接字,对吧?)
在那里找到异步TCP侦听器和客户端的示例https://github.com/vtortola/AynchronousTCPListener
您可以发送和写入,但同时不能通过同一套接字从两个线程同时发送。
根据我的经验,这对Socket.Send
或Socket.SendAsync
来说不是问题