1
我有一个奇怪的问题。我正在尝试编写一个使用套接字进行通信的C#服务器 - 客户端项目。我是C#的新手,但我已经用Java编写了相同的项目,并且在那里工作得很好。C#套接字服务器不能从客户端接收
因此,客户端连接到服务器,从套接字的网络流创建读/写流并通过它发送单个字符串,但服务器不会收到任何内容。
我确定服务器正常工作,因为我已经连接了一个Java客户端,并且它从客户端接收字符串。
我不明白怎么来的套接字连接,但没有通过它。
下面是客户端的代码:
...
socket = new TcpClient("localhost", PORT);
NetworkStream ns = socket.GetStream();
StreamReader rin = new StreamReader(ns);
StreamWriter wout = new StreamWriter(ns);
Console.WriteLine("-->Connected to server");
string msg;
for (; ;)
{
Console.WriteLine("waiting to write");
while(user.Equals("")) //user is set in Form thread working in parallel
System.Threading.Thread.Sleep(100);
Console.WriteLine("sending: " + user);
wout.WriteLine(user);
wout.Flush();
Console.WriteLine("SENT");
...
端口是相同的,没有引发异常(我有一个尝试 - 捕获解决这个问题),客户端发送通过StreamWriter的字符串,因为它打印出“派”,但在接收端(streamReader.ReadLine())并没有什么服务器等待发生......
不要使用反引号'撇号为。这使编辑认为你正在输入代码片段。谢谢:-) – mellamokb 2011-05-18 17:40:12
一切看起来不错。在执行写入操作后,您是否看到“已发送”写入控制台? – Will 2011-05-18 17:41:07
服务器代码可能会有帮助,因为这似乎是问题所在。 – 2011-05-18 17:41:13