2010-12-16 11 views
0

メッセージを送ることができるプログラムを作るにはどうすればいいですか?ユーザーがメッセージを受け取って返信するとメッセージが届きます。ソケットプログラミング。 c#.net

+1

この疑問は、*非常に*一般的です。より具体的なものは、より具体的な回答を可能にします。 – Richard

答えて

0

このコードを確認してくださいJavaコード化された2番目のものと通信する:

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Net; 
    using System.Net.Sockets; 
    using System.IO; 
    public class TcpCommunication 
     { 
      private TcpListener commListener; 
      private TcpClient client; 
      private StreamReader reader; 

      public TcpCommunication(int port) 
      { 
       this.commListener = new TcpListener(new IPAddress(new byte[]{127,0,0,1}),port); 
      } 

      public bool isAlive() 
      { 
       return client != null && this.client.Connected; 
      } 

      public void waitForClient() 
      { 
       this.commListener.Start(); 
       this.client = commListener.AcceptTcpClient(); 
       this.reader = new StreamReader(client.GetStream()); 
       this.commListener.Stop(); 
      } 

      public String getStringLine() 
      { 
       return reader.ReadLine(); 
      } 

      public void writeStringLine(String commString) 
      { 
       commString = commString.Replace('\n','\t'); 

       NetworkStream networkStream = client.GetStream(); 
       System.Text.UTF8Encoding encoding = new UTF8Encoding(); 
       Byte[] stringInByteFormat = encoding.GetBytes(commString + "\n");     networkStream.Write(stringInByteFormat,0,stringInByteFormat.Length); 
        } 
0

多くの承認があります。あなたは、ソケットを使用することができます

  • System.Net.Sockets名前空間、クラスTcpClientTcpListenerで探し始めます)。これは非常に低いレベルのアプローチです。ここではすべてを自分で行う必要があります。
  • WebservicesやWCFのようなコミュニケーションプログラミングの既存の抽象レイヤの1つを使用することをお勧めします。読書を開始する場所については、this question and answersを参照してください。
0

あなたがチャットプログラムに関する質問のためのSO検索する場合は、彼らがピア・ツー・ピア通信のためのソケットを使用しての偉大な例であり、彼らが対話しているようにあなたがそれらを試すことができ、良い出発点の多くを見つけるでしょう直接。たとえば:

https://stackoverflow.com/questions/1582097/java-chat-application

0

これを行うための最善の方法は、WCF(Windowsの通信基盤)を使用し、ちょうどバインディングnet.tcpを使用することです。

http://msdn.microsoft.com/library/dd943056.aspx

基本的には、代わりにソケット経由でメッセージを作成し、マーシャルするので、あなたは(コードでただし、インタフェースであり、それはいくつかの属性を持つ実装だ)WCFサービスを作成し、設定ファイルにあなたが言いますhttpの代わりにtcpソケットでリッスンします。

また、双方向モード(双方向モード)で動作するように設定することもできます。

関連する問題