2009-09-09 196 views
0

即時通訊使用套接字編程在C#中製作窗口應用程序。我開發了一個服務器客戶端。這兩個工作正常,但即時通訊的問題是,當我從CLIENT發送任何消息,它發送完美,並在服務器上接收,但每當我嘗試發送任何消息從服務器它不會發送到客戶端,因爲在一開始當建立連接時,服務器將消息發送到客戶端,即「連接已建立」並完美地接收到客戶端,但稍後服務器不會向客戶端發送任何消息!任何人都可以請幫助我嗎??????? 問候 Umair發送消息從服務器到客戶端的問題

編輯:

//Code at SERVER for SENDING... 
    private void button_send(object sender, EventArgs e) 
    { 
     string input = textBoxWrite.Text; 
     byte[] SendData = new byte[1024]; 
     ASCIIEncoding encoding = new ASCIIEncoding(); 
     SendData = encoding.GetBytes(input); 
     client.Send(SendData,SendData.Length,SocketFlags.None); 
     textBoxShow.Text = "Server: " + input; 
    } 
    //Code at CLIENT for receiving 
      NetworkStream networkStream = new NetworkStream(server); 
      string input = textBoxUser.Text + ": " + textBoxWrite.Text; 
      ASCIIEncoding encoding = new ASCIIEncoding(); 
      byte[] inputByte = encoding.GetBytes(input); 
      if (networkStream.CanWrite) 
      { 
       networkStream.Write(inputByte, 0, inputByte.Length); 
       textBoxShow.Text = textBoxShow.Text + Environment.NewLine + input; 
       textBoxWrite.Text = ""; 
       networkStream.Flush(); 
      } 
+0

你可以發佈一些示例代碼? – 2009-09-09 09:30:26

+0

在您提供的示例代碼中,「客戶端用於接收的代碼」根本沒有收到。它實際上是將數據寫入NetworkStream,而不是從NetworkStream讀取數據。你能提供一個更準確的代碼示例嗎? – 2009-09-09 13:32:34

回答

1

我不知道如何最好根據您所提供的信息來幫助,但也許你可以看看像this example of C# socket programming,並與你的比較自己的應用。

+0

我之前看到過這個例子,但我在我的應用程序中使用了線程,因此如果我將同一個方法同時使用SEND&RECEIVE,它會掛起我的應用程序。我只想在按下按鈕時發送消息,並將寫入文本框的所有文本發送到客戶端。 – Umair 2009-09-09 09:27:00

相關問題