【发布时间】:2010-05-29 22:41:58
【问题描述】:
我目前正在尝试做的是使用 silverlight 为 irc 制作一个非常基本的网络聊天。
基本上我的尝试是让 tcp 服务器监听来自 silverlight 的连接。当客户端连接时,它会创建一个到 irc 的新连接,并且数据会通过服务器应用程序传入/传出客户端/irc。
我已经让它对一个客户端连接正常工作,但是一旦两个(或更多)客户端连接到 irc,就会建立多个连接,但是从客户端传递的所有数据都只是通过最新的 irc 连接(如果有道理)。
比如Client1、Client2、Client3都是连接到irc的,但是不管是谁发的数据都是通过Client3来的。
在客户端和服务器应用程序之间,它识别来自不同客户端的数据,所以我相信问题出在我连接到 irc 的方式上。当 TCP 服务器接受一个新客户端时,会创建一个新线程来监听传入的数据,并从那里创建一个新线程来连接到 irc。我确定这就是问题所在,但我现在很困惑,想知道是否有人可以帮助我找出解决方案。
编辑:我认为问题在于它无法区分特定客户端正在使用哪个线程,因此它只是通过最新的线程发送它。这也能做到吗?
【问题讨论】:
-
欢迎来到 SO。请不要在标题和标签中重复“C#”。此外,您的问题在于 .NET,而不是 C# 编程语言。
-
您可能应该发布一些关键代码。