ネットワークプログラミング

まずは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);

 


}