基本的なプロセスに準拠したソケットのCommunications Serverは、まずクライアント接続を待つために聞く呼び出して、バインドバインドIPアドレスとポート番号を呼び出し、ソケットを作成しました。最後の呼び出しは、ループのクライアント接続を受け入れ、メッセージに応答しながら、受信されました。
システムが使用して;
System.Netを使用して、
System.Net.Socketsを使用して; // Socketクラスは、ネットワーク通信のためのメソッドとプロパティの豊富なセットを提供します
test1の名前空間
{
クラスMainClass
{
公共の静的な無効メイン(文字列[] args)
{
Console.WriteLineを( "Hello Worldの!");
//ソケットに
ソケット=新しい新しいソケット(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp)listenfd。 //ソケットを作成し、アドレスファミリを表す3つのパラメータ、ソケットタイプ(ストリーム、バイトストリーム)プロトコルおよび
たIPAddress ipAdr = IPAddress.Parse(「127.0.0.1」);
//バインド
IPEndPoint =新しい新しいIPEP IPEndPoint (ipAdr、1234);
listenfd.Bind(IPEP); //ソケットlistenfd IPおよびポートにバインド
// Listern
listenfd.Listen(0); //モニターを開いて、指定されたキューのバックログパラメータが待ってまで収容することができます接続の数、0は制限を意味し
ます。Console.WriteLineを(「[サーバ]が正常に起動」);
一方、(真の)
{
//受け入れ
ソケットはlistenfd.Accept =()connfd; //サーバがクライアント接続を受信
Console.WriteLineを( "[サーバー]受け入れを");
//レシーバ・
バイト[] = readBuff新しい新しいバイト[1024]; //ストアの受信をデータ
INTカウント= connfd.Receive(readBuff); //長さサーバは、受信したデータを示す戻り値クライアントデータを受信する
文字列str = System.Text.Encoding.UTF8.GetString(readBuff、0 、数) ; //画面に表示された文字列にバイト[]配列
Console.WriteLineをが(+ STR "[サーバが受信する]");
//送信
バイト[]バイト=のSystem.Text.Encoding.Default.GetBytes(「Servの「エコー+ STR); //サーバは、バイト文字列を変換[]配列
connfd.Send(バイト); //クライアント・サーバーにデータを送信します
}
}
}
}