C#套接字服务器不从客户端接收

时间:2011-05-18 17:34:20

标签: c# sockets communication

我有一个奇怪的问题。我正在尝试使用套接字编写C#服务器 - 客户端项目进行通信。我是C#的新手,但是我用Java编写了同样的项目,并且在那里工作得很好。

因此,客户端连接到服务器,从套接字的网络流创建读/写流并通过它发送单个字符串,但服务器不接收任何内容。

我确信服务器工作正常,因为我已经连接了一个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");
    ...

PORT是相同的,没有抛出异常(我有一个尝试 - 抓住这个),客户端通过StreamWriter发送字符串,因为它打印出“SENT”但服务器在接收端等待(streamReader。 ReadLine())没有任何反应......

1 个答案:

答案 0 :(得分:0)

试试这个:

socket = new TcpClient();
socket.Connect("localhost", PORT);
//... Your code continues here