「C#(TcpListenerTcpClient)」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*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();
}
----