https://www.ibm.com/developerworks/jp/linux/library/l-sockpit/index.html
知らないと、ここの3番は特に引っかかりやすい。
あれーなんでコネクトしないんだろう。何度もすると接続するのに。という分かりにくい現象
int sock, ret, on;
struct sockaddr_in servaddr;
/* Create a new stream (TCP) socket */
sock = socket( AF_INET, SOCK_STREAM, 0 ):
/* Enable address reuse */
on = 1;
setsockopt ( sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ); //<-------これ
/* Allow connections to port 8080 from any available interface */
memset( &servaddr, 0, sizeof(servaddr) );
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl( INADDR_ANY );
servaddr.sin_port = htons( 45000 );
/* Bind to the address (interface/port) */
ret = bind( sock, (struct sockaddr *)&servaddr, sizeof(servaddr) );
0 件のコメント:
コメントを投稿