C# Tcp侦听器和客户端侦听特定ip
我想做的是听一个5000的套接字,它与代码完美配合C# Tcp侦听器和客户端侦听特定ip,c#,multithreading,sockets,tcpclient,tcplistener,C#,Multithreading,Sockets,Tcpclient,Tcplistener,我想做的是听一个5000的套接字,它与代码完美配合 TcpListener listener = new TcpListener(IPAddress.Any, 5000); NetworkStream Network; TcpClient client; client = listener.AcceptTcpClient(); 但是,当服务器有两个连接到服务器的客户端时,由于它们是多线程的,所以它们都会侦听相同的消息,我不希望发生这种情况,因为它们相互读取时,会从网络流中删除字节 所以我的问题
TcpListener listener = new TcpListener(IPAddress.Any, 5000);
NetworkStream Network;
TcpClient client;
client = listener.AcceptTcpClient();
但是,当服务器有两个连接到服务器的客户端时,由于它们是多线程的,所以它们都会侦听相同的消息,我不希望发生这种情况,因为它们相互读取时,会从网络流中删除字节
所以我的问题是,有没有一种方法让侦听器监听任何ip,直到它最终接收到一个连接,然后一旦建立了连接,线程只监听该ip地址
谢谢TCP不是那样工作的。 创建TCP套接字时,绑定到端口a,并侦听您拥有的是:
- 端口A上的侦听套接字
- 端口A上的侦听套接字(仍然有效,您没有关闭它)
- 端口A上的维修插座,但为插座对的一部分。(投资促进机构(A)、投资促进机构(B))
- 端口A上的侦听套接字(仍然有效,您没有关闭它)
- 端口A上的维修插座,但为插座对的一部分。(投资促进机构(A)、投资促进机构(B))
- 端口A上的维修插座,但为插座对的一部分。(IPA(A)、IPC(C))
TCP有点复杂,你可能会发现我的解释令人望而生畏,在这种情况下,你应该尝试在书中或互联网上阅读更多关于TCP的内容。socket编程也是一本有趣的读物,因为仅仅解释TCP并不能解释socket级别发生的事情。您必须识别您正在听的每一条“消息”。你读过TCP/IP通信和通信协议吗?因为这就是协议存在的原因。当然你需要自己做。这毫无意义。两个客户端,意味着两个不同的连接。他们没有收到彼此的数据,问问题都很好。但给予信任真的有那么多要求吗?