gpt4 book ai didi

c# - 同步多套接字客户端说明

转载 作者:可可西里 更新时间:2023-11-01 02:42:43 24 4
gpt4 key购买 nike

我要创建多个同步客户端。我需要一些关于下面代码的解释。当我创建如下所示的套接字并调用连接时,网络级别发生了什么。

我相信当我们创建套接字并调用连接时,TCP/IP 连接是在客户端套接字和服务器套接字之间建立的隧道。

一旦这个发送方(套接字)与服务器连接,客户端和服务器之间就会有一个唯一的隧道。如果我创建另一个客户端,它们之间将有另一个独特的隧道。

如果我们遇到错误,即客户端未连接,我们总是应该使用现有套接字(发送方)重新连接,然后我们将访问我们拥有的相同数据/连接。我们不应该创建一个新的套接字,然后我们将有一个新的隧道,我们将丢失以前的连接和数据。

Socket sender = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp );
sender.Connect(remoteEndpoint)

如果我错了,请澄清。

最佳答案

你所说的隧道,其实就是所谓的连接。断开的连接无法恢复。数据丢失是意料之中的。

当您重用现有的套接字对象再次连接时,您正在创建一个新连接。 (我)不推荐重用套接字对象,因为它会造成混淆。

请注意,TCP 不知道套接字是什么。规范不包含该词。套接字是操作系统级别的东西。

关于c# - 同步多套接字客户端说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com