- 论坛徽章:
- 0
|
请问我在hp-ux下写一网络通讯程序,代码如下
- int main(int argc, char **argv)
- {
- int listenfd, connfd, i, clilen, pid;
- struct sockaddr_in cliaddr, servaddr;
- if((listenfd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)) < 0)
- {
- printf("create socket failed.\n");
- exit(1);
- }
- printf("create socket success.\n");
- bzero(&servaddr,sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
- servaddr.sin_port = htons(20000);
- while(i < 0)
- i = bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
- if(i < 0)
- {
- printf("socket bind failed.\n");
- exit(1);
- }
- printf("socket bind success.\n");
- if(listen(listenfd,10) < 0)
- {
- printf("listen failed.\n");
- exit(1);
- }
- printf("LISTEN READY......................\n");
- for(;;)
- {
- clilen = sizeof(cliaddr);
- if((connfd = accept(listenfd,(struct sockaddr *)&cliaddr,&clilen)) < 0)
- {
- if(errno == EINTR)
- {
- // printf("accept continue\n");
- continue;
- }
- else
- {
- perror("accept error\n");
- printf("accept failed.\n");
- }
- }
- if((pid = fork()) == 0)
- {
- close(listenfd);
- deal_with(connfd);
- exit(9);
- }
- else if(pid >; 0)
- {
- signal(SIGCHLD,sig_child);
- }
- else
- {
- perror("fork error \n");
- exit(1);
- }
- close(connfd);
- }
- }
复制代码
可是我用netstat -an | grep 20000,确查不到这个监听,是怎么回事呀,请高手指教
谢谢啦! |
|