TCP服务器客户端进程通信
来源:互联网 发布:多米音乐mac版下载 编辑:程序博客网 时间:2024/05/17 11:56
服务器代码
/*****************************************************copyright (C), 2014-2015, Lighting Studio. Co., Ltd. File name:Author:Jerey_Jobs Version:0.1 Date: Description:Funcion List: *****************************************************/#include <stdio.h>#include <stdlib.h>#include <netinet/in.h>#include <sys/socket.h>#include <string.h>void upper(char *msg){ while(*msg) { *msg =toupper(*msg); *msg++; }}int main(){ pid_t pid; int listenfd,connfd; int n; struct sockaddr_in servaddr,cliaddr; socklen_t client; char msg[1000]; listenfd = socket(AF_INET,SOCK_STREAM,0); bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(8888); bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr)); listen(listenfd,1024); for(;;) { client = sizeof(cliaddr); connfd = accept(listenfd,(struct sockaddr *)&cliaddr,&client); if(pid =fork() == 0) { close(listenfd); for(;;) { n = recvfrom(connfd,msg,1000,0,(struct sockaddr *)&cliaddr,&client); if(n == 0) { printf("client is closed\n"); exit(-1); } printf("--------------------------------------------\n"); printf("%s",msg); printf("--------------------------------------------\n"); upper(msg); sendto(connfd,msg,n,0,(struct sockaddr *)&cliaddr,sizeof(cliaddr));// printf("--------------------------------------------\n");// printf("%s",msg);// printf("--------------------------------------------\n"); } close(connfd); } } close(listenfd); return 0;}
客户端代码
/*****************************************************copyright (C), 2014-2015, Lighting Studio. Co., Ltd. File name:Author:Jerey_Jobs Version:0.1 Date: Description:Funcion List: *****************************************************/#include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <string.h>int main(int argc,char **argv){ int sockfd; int n; struct sockaddr_in servaddr,cliaddr; char sendbuf[1000]; char recvbuf[1000]; if(argc != 2) { printf("Usage:client <IP ADDRESS>\n"); exit(-1); } sockfd = socket(AF_INET,SOCK_STREAM,0); bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = inet_addr(argv[1]); servaddr.sin_port = htons(8888); connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)); while(fgets(sendbuf,1000,stdin) != NULL) { sendto(sockfd,sendbuf,sizeof(sendbuf),0,(struct sockaddr *)&servaddr,sizeof(servaddr)); n = recvfrom(sockfd,recvbuf,1000,0,NULL,NULL); recvbuf[n] = '\0'; fputs(recvbuf,stdout); } close(sockfd); return 0;}
0 0
- TCP服务器客户端进程通信
- 服务器和客户端 tcp通信
- TCP服务器客户端网络通信
- TCP传输,客户端和服务器通信
- TCP传输,客户端和服务器通信
- TCP实现客户端和服务器的通信
- TCP/IP通信 客户端、服务器 实例
- TCP服务器、客户端之间的相互通信
- TCP/UDP客户端服务器实现通信
- 基于TCP的服务器/客户端通信
- TCP/IP通信 客户端、服务器 实例
- java 通过 socket 实现 服务器和客户端的通信 TCP
- C/S(客户端/服务器) TCP通信聊天程序
- C# Socket TCP简单例子(服务器与客户端通信)
- Tcp通信中服务器处理客户端意外断开!
- Java实现单个客户端与服务器TCP通信
- 客户端通过TCP通信分页从服务器获取数据
- Java TCP通信(服务器和客户端代码)
- mysql中的索引
- Qt学习之路——— 串口通信总结
- 健康栏目的实现
- fread
- Listview
- TCP服务器客户端进程通信
- Java 常见内存溢出异常与代码实现
- Hibernate的一对多关联关系(单向和双向)
- final关键字、类之间的关系、转型、多态的缺陷、构造器和多态
- java文件及文件夹过滤器使用样例
- 极客学院内部首发唯一完整实战微信小程序培训课程,现在免费赠送(价值500
- 一个好玩的表白小程序
- Ural 1004 FLOYD最小环问题
- spring