ネットワークプログラミング
まずはsocketを作成する。
AF_INETはIPv4のソケットという意味。
次にbind
またAF_INETを入れる必要がある。
紐づけるあとport番号とIPアドレスを。
INADDR_ANYは、0.0.0.0を意味する。
そしてlistenする。
listenはsocketのファイルディスクリプタとバッファ数みたい。
バッファ数がよくわからない。
きになったのでnginxのソースをのぞいてみることに
nginx-1.9.4\src\os\unix\ngx_linux_config.h(100,9) [SJIS]: #define NGX_LISTEN_BACKLOG 511
511に設定されていた。
まぁ他の設定で上書きされるのかもしれないが
今日はここまで
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(void){
int sock0;
struct sockaddr_in addr;
struct sockaddr_in client;
int len;
int sock;
sock0 = socket(AF_INET,SOCK_STREAM,0);
addr.sin_family = AF_INET;
addr.sin_port = htons(12345);
addr.sin_addr.s_addr = INADDR_ANY;
bind(sock0,(struct sockaddr *) &addr,sizeof(addr) );
listen(sock0,5);
}