Linuxシステムコール、INETドメイン ソケット
UNIX / Linux システムコール・プログラミング プロセス間通信(IPC)、ソケット通信/INETドメイン ソケット Unixドメイン ソケットとは? Unixドメイン ソケットは、ノード間のネットワーク通信を行うことができ、現代のインターネット環境の基盤技術の1つと言えます。 INETドメイン ソケットを利用することで実際のネットワーク上のプロトコルであるTCP/IPやUDP/IPを意識したプログラミングが可能になります。 ※今回のサンプルコードは、TCP/IPです。 基本的に、INETドメイン ソケットもUnixドメイン ソケットと同様の実装となりますが、異なるノード間での通信を実現するため、ネットワークアドレスやポート番号を意識する必要があります。 それでは、サーバー側のコードを以下に示します。 inet-dimain-server.c #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #include <netinet/in.h> #include <arpa/inet.h> // Make server socket. // int makeServer(int portNo) { int sfd; int ret; struct sockaddr_in serv; // Create server socket. if((sfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("ERROR:Server Socket()"); return -1; } // Bind socket memset(&serv, 0, sizeof(struct sockaddr_in)); ...