我的服务器端是用c写的。
(头文件省掉了。)
main()
{
int sockfd,new_fd,nbytes;
struct sockaddr_in srvaddr;
struct sockaddr_in cliaddr;
int sin_size;
char buf[1024]; if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){
perror("socket error");
exit(-1);
}
bzero(&srvaddr,sizeof(srvaddr));
srvaddr.sin_family = AF_INET;
srvaddr.sin_port = htons(PORT);
srvaddr.sin_addr.s_addr= htonl(INADDR_ANY);
if(bind(sockfd,(struct sockaddr *)&srvaddr,sizeof(struct sockaddr))==-1){
perror("bind error");
printf("%d\n",errno);
exit(-1);
}
if(listen(sockfd,BACKLOG)==-1){
perror("listen error");
exit(-1);
}
for(;;){
sin_size = sizeof(struct sockaddr_in);
new_fd = accept(sockfd,(struct sockaddr *)&cliaddr,&sin_size);
if(new_fd==-1){
perror("accept error");
continue;
}
printf("server : got connection from %s\n",inet_ntoa(cliaddr.sin_addr));
if(write(new_fd,"otp-md5 93 fw0253394",20)==-1) perror("write error"); if((nbytes=read(new_fd, buf,1024))==-1){
perror("read error");
printf("\n%d",errno);
exit(-1);
}
buf[nbytes]=´\0´;
printf("\n%s",buf); close(new_fd);
}
close(sockfd);
}
(头文件省掉了。)
main()
{
int sockfd,new_fd,nbytes;
struct sockaddr_in srvaddr;
struct sockaddr_in cliaddr;
int sin_size;
char buf[1024]; if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){
perror("socket error");
exit(-1);
}
bzero(&srvaddr,sizeof(srvaddr));
srvaddr.sin_family = AF_INET;
srvaddr.sin_port = htons(PORT);
srvaddr.sin_addr.s_addr= htonl(INADDR_ANY);
if(bind(sockfd,(struct sockaddr *)&srvaddr,sizeof(struct sockaddr))==-1){
perror("bind error");
printf("%d\n",errno);
exit(-1);
}
if(listen(sockfd,BACKLOG)==-1){
perror("listen error");
exit(-1);
}
for(;;){
sin_size = sizeof(struct sockaddr_in);
new_fd = accept(sockfd,(struct sockaddr *)&cliaddr,&sin_size);
if(new_fd==-1){
perror("accept error");
continue;
}
printf("server : got connection from %s\n",inet_ntoa(cliaddr.sin_addr));
if(write(new_fd,"otp-md5 93 fw0253394",20)==-1) perror("write error"); if((nbytes=read(new_fd, buf,1024))==-1){
perror("read error");
printf("\n%d",errno);
exit(-1);
}
buf[nbytes]=´\0´;
printf("\n%s",buf); close(new_fd);
}
close(sockfd);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货