C#でTCPサーバを作ってみる
chakemiです。 本日は、C#でTCPサーバを作ってみようと思います。
開発環境
- WindowsXP Pro SP3
- VisualStudio2008
今回は手始めなのでコンソールアプリケーションで、TCPソケット生成には便利なTCPListenerとTCPClient クラスを使ってServer-Clientの1対1のサーバを作ってみます。
では最初に、名前空間のusingディレクティブを追加します。
1 2 3 |
|
TCPListenerコンストラクタの引数に必要なIPEndPointを生成し、TCPListenerのインスタンスを生成します。 IPEndPointにはサーバのIPアドレスと待ち受けポートを渡します。
1 2 |
|
Startメソッドを実行し、待ち受けを開始します。 引数には接続待ちのバックログを指定しますが、省略した場合、デフォルト値が使用されます。
1
|
|
接続要求が来たら、接続を許可し、TcpClientオブジェクトを生成します。
1
|
|
TcpClientの接続状態が確認出来たら、以降これを使用してデータ送受信をするのでListenerを閉じちゃってNetworkStreamクラスとStreamReaderクラスのインスタンスを生成。
1 2 3 4 5 6 |
|
あとは、永遠とデータ受信処理のループを回します。
1 2 3 4 5 6 7 8 9 10 11 |
|
こんな感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
サーバを起動して、コマンドプロンプトからtelnetで接続できたら完成。
1
|
|
次回ももう少し通信系の勉強をしようかと思います。