Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过特定客户端端口发送消息_C#_Sockets - Fatal编程技术网

C# 通过特定客户端端口发送消息

C# 通过特定客户端端口发送消息,c#,sockets,C#,Sockets,我在套接字中执行项目。通常,服务器侦听特定端口,客户端必须连接到该端口,然后才能进行发送和接收。但我们没有在客户端指定任何端口号,但我可以在客户端使用端口,通过此端口,只有邮件才会传送到服务器。如何执行此操作 在我的客户端,它们限制端口,因此如果要使用有效的空闲端口,我必须在客户端程序中设置它,而不是在操作系统中选择它。这是我的问题。在连接到服务器之前,将客户端套接字绑定到本地地址(ip和端口号)。准备好处理错误,例如当端口不可用时(选择下一个端口,重试)。我猜您正在使用System.Net.S

我在套接字中执行项目。通常,服务器侦听特定端口,客户端必须连接到该端口,然后才能进行发送和接收。但我们没有在客户端指定任何端口号,但我可以在客户端使用端口,通过此端口,只有邮件才会传送到服务器。如何执行此操作


在我的客户端,它们限制端口,因此如果要使用有效的空闲端口,我必须在客户端程序中设置它,而不是在操作系统中选择它。这是我的问题。

在连接到服务器之前,将客户端套接字绑定到本地地址(ip和端口号)。准备好处理错误,例如当端口不可用时(选择下一个端口,重试)。

我猜您正在使用System.Net.Sockets命名空间

如果是这样,NetworkStream之类的类将套接字作为构造函数参数:

类似地,TcpClient将端口和服务器作为构造函数参数,在此上下文中,端口与套接字相同:

最后。您可以通过以下几种方式控制此套接字的数量:

  • 命令行参数
  • 在Application.Config文件中设置
  • 从注册表中读取它

有几种方法可以解决这类问题。

通常客户端端口无关紧要,由操作系统分配。您能否澄清“只有通过此端口才能将消息发送到客户端”这句话?这听起来像是“客户机”上的套接字,有效地使其成为服务器?为什么不使用已经从客户端打开的连接(假设这里是TCP)来发送消息呢?