基于TCP網络编程实现代码.docVIP

  • 3
  • 0
  • 约2.76千字
  • 约 5页
  • 2016-11-27 发布于重庆
  • 举报
基于TCP網络编程实现代码

基于TCP网络编程实现代码: /**************************** *******server.c************? ****************************/ #include sys/types.h #include sys/socket.h #include stdio.h #include sys/un.h #include unistd.h #include stdlib.h #include netinet/in.h #include arpa/inet.h #include errno.h extern int errno; int main() { ???//step1 ?secket ? ?int fd=socket(AF_INET,SOCK_STREAM,0); ? ?fprintf(stderr,socket id=%d\n,fd); ? ?//setp2 ?bind ? ?struct sockaddr_in servaddr; ? ?servaddr.sin_family = AF_INET; ? ?servaddr.sin_port = htons(7777); ? ?servaddr.sin_addr.s_addr = htonl(INADDR_ANY); ? ?printf(ip:%s ? port:%d\n,inet_ntoa(servaddr.sin_addr),ntohs(servaddr.sin_port)); ? ?int ret=bind(fd,(struct sockaddr *)servaddr,sizeof(servaddr)); ? ?if(ret0) ? ?{ ? ? ? fprintf(stderr,error:%s\n,strerror(errno)); ? ? ? close(fd); ? ? ? return -1; ? ?} ? ?//step3 linsten ? ?listen(fd,5); ???//setp4 accpet ? ?int newfd; ? ?struct sockaddr_in peer; ? ?socklen_t size; ? ?size=sizeof(peer); ? ?printf(waiting for client connectting.......\n ); ? ?newfd=accept(fd,(struct sockaddr *)peer,size); ? ? ?//client ip ?port ? ?printf(ip:%s ? port:%d\n,inet_ntoa(peer.sin_addr),ntohs(peer.sin_port)); ? ?char ?buf[100]; ? ?//step5 transform date ? ?while(1) ? ?{ ? ? ? ?fgets(buf,100,stdin); ? ? ? ?write(newfd,buf,strlen(buf)); ? ? ? ?int cnt1=read(newfd,buf,100); ? ? ? ?write(1,buf,cnt1); ? ?} ? ?close(newfd); ? ?return 0; } /**************************** *******client.c************? ****************************/ #include sys/types.h #include sys/socket.h #include stdio.h #include sys/un.h #include unistd.h #include stdlib.h #include netinet/in.h #include arpa/inet.h #include errno.h extern int errno; int main() { ? ? ? ?int fd=socket(AF_INET,SOCK_STREAM,0); ???// server addr ? ?struct sockaddr_in servaddr; ? ?servaddr.sin_family = AF_INET; ? ?servaddr.sin_port = htons(7777); ? ?servaddr.sin_addr.s_addr = inet_addr(172.0.0.1); ???// conecting.......... ? ?int ret=connect(fd,(struct scokaddr *)servaddr,sizeof(serva

文档评论(0)

1亿VIP精品文档

相关文档