|
小弟编写了一个很简单的程序对ip地址进行设置,但是执行时却没有任何显示,现把源程序贴出来,大家帮我看看
inetaton.cpp:
-------------------------------------------------------
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
//This function is used to report error
//and return shell
static void
bail(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; //length
int sck_inet; //socket API
//create socket API
sck_inet = socket(AF_INET, SOCK_STREAM, 0);
if(sck_inet == -1)
{
bail("socket()");
}
//create address
memset(&adr_inet, 0, sizeof adr_inet);
adr_inet.sin_family = AF_INET;
adr_inet.sin_port = htons(9000);
if(!inet_aton("127.0.0.23", &adr_inet.sin_addr))
{
bail("bad address");
}
len_inet = sizeof adr_inet;
//bind the address to the socket API
z= bind(sck_inet,
(struct sockaddr*)&adr_inet,
len_inet);
if(z == -1)
{
bail("bind()");
}
//display the socket API address
system("netstat -pa --tcp 2>/dev/null| grep a.out");
close(sck_inet);
return 0;
}
--------------------------------------------------------
编译过程
$ g++ inetaton.cpp
执行:
$ ./a.out
结果:
没有任何显示。 |
|