- 论坛徽章:
- 2
|
- main(int argc ,char **argv)
- {
- int sfd;
- int port;
- struct sockaddr_in in;
- int optval, val = 0;
- int len;
- sfd = socket(AF_INET, SOCK_STREAM, 0);
- port = atoi(argv[1]);
- optval = 1;
- Init_inet_sock(&in, "0.0.0.0", port);
- if (setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) < 0)
- printf("setsockopt err\n");
- getsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &val, &len);
- printf("val=%d,len=%d\n", val, len);
- Bind(sfd, (struct sockaddr*)&in, sizeof (in));
- if (listen(sfd, 10) == -1) {
- if (errno == EADDRINUSE)
- printf ("EADDRINUSE\n");
- else
- printf ("listen err:%s(%d)\n", strerror(errno), errno);
- }else {
- printf ("listen right\n");
- }
- }
复制代码 输出:
val=0,len=0
bind socket error :Address already in use (errno:9
setsockopt好像没设置成功,为什么
回复 2# wangell2012
|
|