Multithreading C#TCP/IP套接字编程

Multithreading C#TCP/IP套接字编程,multithreading,sockets,thread-safety,c#-3.0,Multithreading,Sockets,Thread Safety,C# 3.0,我正在使用TCP/IP同步套接字从多个客户端程序连接到服务器程序 在这里,我同时向服务器发出多个请求并获得响应(通过多个线程) 每当我向服务器程序发出请求时,.net框架会自动为每个客户端分配一个端口&它将得到正确的响应 我的问题是,我有一个假设。由于每个客户端都有不同的端口(端点),即使请求同时向同一服务器发出,响应也会接收并重定向到正确的调用方(客户端)。 但有时我看到,反应是混合的&它到达了错误的客户端程序。 如果我对套接字创建和接收代码设置了锁,那么它就会得到正确的响应 另外请注意,我以

我正在使用TCP/IP同步套接字从多个客户端程序连接到服务器程序

在这里,我同时向服务器发出多个请求并获得响应(通过多个线程)

每当我向服务器程序发出请求时,.net框架会自动为每个客户端分配一个端口&它将得到正确的响应

我的问题是,我有一个假设。由于每个客户端都有不同的端口(端点),即使请求同时向同一服务器发出,响应也会接收并重定向到正确的调用方(客户端)。 但有时我看到,反应是混合的&它到达了错误的客户端程序。 如果我对套接字创建和接收代码设置了锁,那么它就会得到正确的响应

另外请注意,我以线程安全的方式创建了这个程序

请告诉我问题在哪里,我的假设是否正确


谢谢。

没有我们的服务器代码,很难提出建议。。。。您可以在此发布您在服务器端用于发送数据的代码。也许不是所有的,但是一些主要部分你的代码有一个bug。无论是TCP还是操作系统都不能把事情搞混。由于代码缺失,没有人可能提供答案。结束@谢尔盖利特维诺夫,你也应该投票结束。这是一个明显的例子。@SergeyLitvinov我上面提到的假设正确吗?@usr请忘记代码中的错误。你能告诉我我的方法、概念或假设是正确的吗。谢谢。你的假设是什么?是不是数据会被混淆?那么,不,从来不是这样。这将使编写一个正常运行的程序变得不可能。