从c#中的某个端口发送

时间:2014-01-08 18:52:29

标签: c# tcp

我编写的代码使用TCP在客户端服务器上的端口30175上发送数据。我遇到的问题是,即使我关闭每个字符串之间的端口,它总是从服务器端的同一端口发送,导致客户端无法将其识别为新连接或新数据。我希望能够指定我从服务器端发送的端口。该程序用c#编写。

2 个答案:

答案 0 :(得分:0)

侦听端口30175的服务器将从端口30175发送数据。如果您需要不同的端口号,则必须在服务器上打开一个新端口并让客户端连接到它。

我的建议是你解决了客户端无法识别新连接和新数据的问题。

答案 1 :(得分:0)

首先,让我们解决您的问题。您选择Bind()到套接字时服务器正在使用的端口。此时,您可以选择指定端口。 (如果你没有,那么它会为你选择一个可用的。)

我遇到的问题是......如果你的服务器始终有端口......那么客户端将如何知道Connect()到哪个端口?

不同的方法

如前所述,不要关闭每个string之间的端口......而应考虑设置协议。例如:让客户端连接,然后以ASCII格式发送int的长度(string)。然后发送ASCII byte[]。在此之后,重复该过程。 (因此服务器可以为另一个int做好准备。)

这样您的代码就不会花费binding/connecting到套接字的时间。