- 论坛徽章:
- 0
|
写了个小程序测试一下,就是报bind error,是不是虚拟机上不能bind呢?
#include <stdio.h>;
#include <sys/socket.h>;
#include <sys/types.h>;
#include <netinet/in.h>;
int main()
{
int sockfd;
struct sockaddr_in sin;
int opt;
if(sockfd=socket(AF_INET,SOCK_STREAM,0) < 0)
{
printf(\"creat socket error\\n\" ;
return -1;
}
opt = 1;
/* setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeo(int));
*/
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = htons(7000);
if(bind(sockfd,(struct sockaddr *)&sin,sizeof(sin)) < 0)
{
printf(\"socket bind error\\n\" ;
close(sockfd);
return -1;
}
close(sockfd);
return 0;
}
cc sock.c -lsocket |
|