[C言語]Webサーバー

IPv4とは?
-> データ通信規格。IPアドレスを32ビットのデータとして扱う
バイトストリームとは?
-> バイト単位のデジタルデータのひと続き

#include 
#include  // typedefシンボルおよび構造体のコレクションを定義
#include  // ソケットに使うためのヘッダファイル socket()
#include  // インターネット・プロトコル・ファミリーの定義


int main(void){

	int rsock, wsock;
	struct sockaddr_in addr, client;
	int len;
	int ret;

	// 通信をするためのソケット作成
	rsock = socket(AF_INET, SOCK_STREAM, 0); // AF_INETはIPv4接続、SOCK_STREAMはバイトストリーム

	if(rsock < 0){
		fprintf(stderr, "Error. Cannot make socket\n");
		return -1;
	}

	// socket設定
	addr.sin_family = AF_INET; // IPv4
	addr.sin_port = htons(8080); // 8080ポート
	addr.sin_addr.s_addr = INADDR_ANY;  // アドレス指定なし

	// binding socket
	bind(rsock, (struct sockaddr *)&addr, sizeof(addr));

	if(ret < 0){
		fprintf(stderr, "Error. Cannot bind socket\n");
		return -1;
	} 

	// socketの接続待ち
	listen(rsock, 5);

	// accept TCP connection from client
	len = sizeof(client);
	wsock = accept(rsock, (struct sockaddr *)&client, &len);

	// メッセージ送信
	write(wsock, "HTTP1.1 200 OK", 14);

	// TCPセッション終了
	close(wsock);
	close(rsock);

	return 0;
}

$ gcc -o main main.c
main.c: In function ‘main’:
main.c:43:2: warning: implicit declaration of function ‘write’; did you mean ‘fwrite’? [-Wimplicit-function-declaration]
write(wsock, "HTTP1.1 200 OK", 14);
^~~~~
fwrite
main.c:46:2: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration]
close(wsock);
^~~~~
pclose

ソケットで通信していることはわかったが、よくわからん。