ネットワークプログラミング1
socketを使おう!の巻。説明は面倒くさいのでしないというか、私もよくわかってない(o^▽^o)
#include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #define PORT 5555 void err_check(int res, char function_name[]); int main(int argc , char* argv[]){ int new_socket1,new_socket2; int bind_ok,listen_ok; ssize_t recv_ok; int data; int l; int data_size = 1000; char rcv_data[1000]; // socket new_socket1 = socket(AF_INET, SOCK_STREAM, 0); err_check(new_socket1, "socket"); //bind struct sockaddr_in a; a.sin_family = AF_INET; a.sin_addr.s_addr= INADDR_ANY; a.sin_port = htons(PORT); bind_ok = bind(new_socket1, (struct sockaddr *)&a, sizeof(a)); err_check(bind_ok,"bind"); //listen listen_ok = listen(new_socket1,16); err_check(listen_ok,"listen"); new_socket2 = accept(new_socket1, NULL,0); err_check(new_socket2,"socket2"); //recv recv_ok = recv(new_socket2, rcv_data, data_size, 0); err_check(recv_ok,"recv"); //close close(new_socket1); close(new_socket2); //print printf("%s", rcv_data); return 0; } void err_check(int res , char function_name[]){ if(-1 == res){ printf("%s\n",function_name); perror(" : "); exit(1); } }