如何使用C#中的套接字异步回复客户机?

如何使用C#中的套接字异步回复客户机?,c#,serversocket,asyncsocket,C#,Serversocket,Asyncsocket,我已经基本实现了(以及相应的客户端)。使用它,如果我完全按照示例进行操作,也就是说,如果对Send()的调用在ReadCallback()方法中,我就可以响应客户机 但是,如果我尝试在此处之外发送响应,例如,在连接到消息处理例程(在不同线程中运行)的回调中,我会收到错误,表示套接字未连接。如果我尝试在服务器代码中的其他地方发送响应,比如在侦听传入连接的while(true)循环中,我会收到相同的错误 我是不是错过了一些基本的东西 编辑: 好的,我读到了,我现在认为,根据这个答案,我必须修改我链接

我已经基本实现了(以及相应的客户端)。使用它,如果我完全按照示例进行操作,也就是说,如果对
Send()
的调用在
ReadCallback()
方法中,我就可以响应客户机

但是,如果我尝试在此处之外发送响应,例如,在连接到消息处理例程(在不同线程中运行)的回调中,我会收到错误,表示套接字未连接。如果我尝试在
服务器
代码中的其他地方发送响应,比如在侦听传入连接的
while(true)
循环中,我会收到相同的错误

我是不是错过了一些基本的东西

编辑:

好的,我读到了,我现在认为,根据这个答案,我必须修改我链接到的示例,以便在
accept
过程返回的套接字上回复服务器。我的目标是在客户端和服务器连接后,能够在接收回调之外调用
Send()
,比如从
Main()


请有人建议我如何修改示例以实现我的目标?我对此感到非常困惑,如果不需要的话,我不想创建一个单独的流(根据我发布的问题,我不需要…。

如果您想保持连接打开,那么需要持久化
处理程序
变量,因为这是打开的套接字连接。然后,无论何时,只要您想要发送该连接,就可以检索其套接字并发送消息


另外,您显然不会对
处理程序
变量调用Shutdown()和Close()。

在修改之前/之后发布相关的代码片段将有助于我们更好地理解。谈话很好,但通常不能准确描述代码。先生,你是一个绝对的英雄。这是我几周来做的最简单的mod。这绝对是一个“见树不见林”的案例!(仅供参考,这是我失去的坚持)。