进程间通信--TCP
来源:互联网 发布:yum安装文件在哪 编辑:程序博客网 时间:2024/05/23 13:08
Client.c
#include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> int main() { int sockfd; int len; struct sockaddr_in address; int result; int i,byte; char char_recv,char_send; if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1) { perror("socket"); exit(EXIT_FAILURE); } address.sin_family = AF_INET; address.sin_addr.s_addr = inet_addr("127.0.0.1"); address.sin_port = 8080; len = sizeof(address); if((result = connect(sockfd,(struct sockaddr *)&address,len)) == -1) { perror("connect"); exit(EXIT_FAILURE); } printf("please enter the context you want to send to server :"); scanf("%c",&char_send); if(byte = send(sockfd,&char_send,1,0) == -1) { perror("send"); exit(EXIT_FAILURE); } if(byte = recv(sockfd,&char_recv,1,0) == -1) { perror("recv"); exit(EXIT_FAILURE); } printf("receive from server %c\n",char_recv); close(sockfd); exit(0); }
Server.c
#include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> char dict(char temp) { if(temp == 'Z') { return 'A'; } return temp+1; } int main() { int server_sockfd,client_sockfd; int server_len,client_len; struct sockaddr_in server_address; struct sockaddr_in client_address; int i,btye; char char_recv,char_send; server_address.sin_family = AF_INET; server_address.sin_addr.s_addr = inet_addr("127.0.0.1"); server_address.sin_port = 8080; server_len = sizeof(server_address); server_sockfd = socket(AF_INET,SOCK_STREAM,0); bind(server_sockfd,(struct sockaddr *)&server_address,server_len); listen(server_sockfd,5); printf("server waiting for connect\n"); client_len = sizeof(client_address); client_sockfd = accept(server_sockfd,(struct sockaddr *)&client_address,(socklen_t *)&client_len); if(btye = recv(client_sockfd,&char_recv,1,0) == -1) { perror("recv"); exit(EXIT_FAILURE); } printf("receive from client is %c\n",char_recv); char_send = dict(char_recv); if(btye = send(client_sockfd,&char_send,1,0) == -1) { perror("send"); exit(EXIT_FAILURE); } shutdown(client_sockfd,2); shutdown(server_sockfd,2); return 0; }
- 进程间通信--TCP
- 进程间通信之TCP demo1
- TCP通信,多进程
- TCP服务器客户端进程通信
- socket多进程TCP通信
- 使用 异步多线程TCP Socket 实现进程间通信
- TCP/IP网络编程 学习笔记_12 --进程间通信
- Linux 进程间通信--信号、TCP粘包处理
- Qt之进程间通信(TCP/IP)
- Qt之进程间通信(TCP/IP)
- 进程&进程间通信
- 12.进程间通信---网络通信(TCP协议,一对多)
- 13.进程间通信---网络通信(TCP协议和UDP协议的比较)
- 4.传输控制协议(TCP):进程到进程的通信
- 信号通信(进程间通信)
- 进程间通信-管道通信
- 进程间通信--管道通信
- [进程通信] 进程间通信 之 管道
- 圆周率,孪生素数,反转串,最近距离,基因牛,迷宫问题(2011年蓝桥杯预赛java本科组试题)
- IIS6.0解析漏洞
- csapp2e 家庭作业 2.83
- 监听器错误处理一则:主机名和IP错位
- NSString copy和retain属性
- 进程间通信--TCP
- char* 转 BSTR
- hdu 1150——Machine Schedule(最大匹配)
- C#导入Excel数据
- 学习java的30个目标
- 如何正确的关闭MFC线程
- Occur 用法
- 林达华推荐的几本数学书 .
- 我的编程竞赛之路 ——中国大学生计算机编程第一人楼天城访谈