// INET で STREAM な TCPソケットによる通信プログラムの雛型 (サーバー側) #include #include #include #include #include "integnet.h" // 接続のポート #define PORT 12345 int main( void ) { // INET で STREAM なソケットの作成 int sb = socket( AF_INET, SOCK_STREAM, 0 ); // 接続の目印の指定 sockaddr_in addr = SOCKADDR_IN_INIT( AF_INET, htons(PORT), InAddr(htonl(INADDR_ANY)) ); // 目印の公開 if( bind( sb, (sockaddr*)&addr, sizeof(addr) ) < 0 ){ perror("bind"); exit(1); } // 接続要求の受信開始(同時に1回線まで接続可とする) listen( sb, 1 ); // 接続要求の受信 int s = accept( sb, NULL, NULL ); // データの受信 char msg[64]; int len; len = recv( s, msg, sizeof(msg), 0 ); msg[len] = '\0'; // データの表示 printf("Server received : %s\n", msg ); // ソケットの廃止 close(s); close(sb); return 0; }