- 论坛徽章:
- 0
|
在《linux socket programming by example》中,有这么一个程序:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<errno.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
static void fail(const char *on_what)
{
fputs(on_what,stderr);
fputc('\n',stderr);
exit(1);
}
int main(int argc,char *argv[])
{
int z;
struct sockaddr_in adr_inet; /*AF_INET*/
int len_inet; /*长度*/
int sck_inet; /*套接字*/
/*生成套接字*/
sck_inet = socket(AF_INET,SOCK_STREAM,0);
if(sck_inet == -1)
fail("socket");
/*建立套接字地址*/
memset(&adr_inet,0,sizeof(adr_inet));
adr_inet.sin_family = AF_INET;
adr_inet.sin_port = htons(9000);
adr_inet.sin_addr.s_addr = inet_addr("127.0.0.80");
if(adr_inet.sin_addr.s_addr == INADDR_NONE)
{
fail("inet_addr()");
}
len_inet = sizeof(adr_inet);
/*将地址绑定至套接字*/
z = bind(sck_inet,(struct sockaddr *)&adr_inet,len_inet);
if(z == -1)
{
fail("bind");
}
/*显示套接字地址*/
system("netstat -pa --tcp 2>/dev/null | grep inetaddr");
return 0;
}
我编译执行以后什么都没有,为什么? |
|