C#(TcpListenerTcpClient)

「C#(TcpListenerTcpClient)」の編集履歴(バックアップ)一覧はこちら

C#(TcpListenerTcpClient)」(2010/04/22 (木) 17:26:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*C#(Tcp…による通信) **最終目的 -Server・Client型通信を提供する非ビジュアルコントロールの提供 ***C#によるTCP通信の基本 -Client側 Serverを説明するのに、まずClient側の実装を説明した方がよいかなと 接続先サーバを指定してTcpClientをnewすると接続 ---- tcpClient = new TcpClient("127.0.0.1", "8080"); ↑現在、これは古い形式らしい ---- 接続が確立したら、TcpClientを元にストリームを作成 ストリームが出来たら、永久ループで受信を待ち受け(※C1) 永久ループを使用するため、受信待ち受けはスレッドを作成・開始して、別スレッドで待ち受けることになる。 ---- // 各種ストリームを作成 this.networkStream = this.tcpClient.GetStream(); this.streamReader = new StreamReader(this.networkStream, Encoding.UTF8); this.streamWriter = new StreamWriter(this.networkStream, Encoding.UTF8); // スレッドを作成・開始 this.threadClient = new Thread(new ThreadStart(this.ListeningReceive)); this.threadClient.Start(); ---- void ListeningReceive { while (true) { string _strMsg = this.streamReader.ReadLine(); if (_strMsg != null) { // _strMsgが受信テキスト } } } ---- 送信はストリームに書き込む事で実現できる。Flush()で強制的に流すことが出来るそうな。 ---- public bool SendText(string __strMsg) { this.streamWriter.WriteLine(__strMsg); this.streamWriter.Flush(); } ----
*C#(Tcp…による通信) **最終目的 -Server・Client型通信を実現する非ビジュアルコントロールの提供 ***C#によるTCP通信の基本 -Client側 Serverを説明するのに、まずClient側の実装を説明した方がよいかなと 接続先サーバを指定してTcpClientをnewすると接続 ---- tcpClient = new TcpClient("127.0.0.1", "8080"); ↑現在、これは古い形式らしい ---- 接続が確立したら、TcpClientを元にストリームを作成 ストリームが出来たら、永久ループで受信を待ち受け(※C1) 永久ループを使用するため、受信待ち受けはスレッドを作成・開始して、別スレッドで待ち受けることになる。 ---- // 各種ストリームを作成 this.networkStream = this.tcpClient.GetStream(); this.streamReader = new StreamReader(this.networkStream, Encoding.UTF8); this.streamWriter = new StreamWriter(this.networkStream, Encoding.UTF8); // スレッドを作成・開始 this.threadClient = new Thread(new ThreadStart(this.ListeningReceive)); this.threadClient.Start(); ---- void ListeningReceive { while (true) { string _strMsg = this.streamReader.ReadLine(); if (_strMsg != null) { // _strMsgが受信テキスト } } } ---- 送信はストリームに書き込む事で実現できる。Flush()で強制的に流すことが出来るそうな。 ---- public bool SendText(string __strMsg) { this.streamWriter.WriteLine(__strMsg); this.streamWriter.Flush(); } ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: