套接字编程中的服务器端的问题

wasd6081058 2012-06-19 06:30:35
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <strings.h>

int main(void)
{
int sockfd;
struct sockaddr_in serveraddr;

if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){
printf("Error: server create socket failed!\n");
exit(0);
}

serveraddr.sin_family = AF_INET;
serveraddr.sin_addr.s_addr = htonl(INADDR_ANY);
serveraddr.sin_port = htons(4057);
printf("begin bind");
if(bind(sockfd, (struct sockaddr *)&serveraddr,sizeof(struct sockaddr_in)) == -1){
printf("Error: bind socket failed!\n");
exit(0);
}
printf("bind success!");
if(listen(sockfd, 1024) == -1){
printf("Error: listen socket failed!\n");
exit(0);
}
int clientlen,accfd;
printf("sockfd is %d",sockfd);
if(accfd = accept(sockfd, NULL, NULL) == -1){
printf("Error: accept socket failed!\n");
exit(0);
}
char pop[100];
while(1){
read(accfd, pop, 100);
if(strlen(pop) > 0){
printf("%s\n",pop);
}
}
return 0;
}

说下问题,我的端口是随便设置的,问题是当我端口设置的不同的时候,中间那个printf语句有时候也不输出,我是在Ubuntu下面编的,我的程序我看和书上差不多,请问问题在哪?
...全文
52 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧