一个简单的网络通信程序
来源:互联网 发布:网络医疗美容咨询 编辑:程序博客网 时间:2024/06/05 15:05
服务器端:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<ctype.h>int main(){ int listenfd; listenfd=socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in servaddr; memset(&servaddr,0,sizeof(servaddr)); servaddr.sin_family=AF_INET; servaddr.sin_port=htons(5188); servaddr.sin_addr.s_addr=htonl(INADDR_ANY); bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr)); listen(listenfd,20); struct sockaddr_in cliaddr; socklen_t cliaddr_len; int connfd=accept(listenfd,(struct sockaddr*)&cliaddr,&cliaddr_len); int MAX=128; char recvbuf[MAX]; while(1) { memset(recvbuf,0,MAX); int n=read(connfd,recvbuf,MAX); if(n==0)break; fputs(recvbuf,stdout); for(int i=0;i<n;i++)recvbuf[i]=toupper(recvbuf[i]); write(connfd,recvbuf,n); } close(connfd); close(listenfd);}
客户端
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<ctype.h>int main(){ int sockfd; sockfd=socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in servaddr; memset(&servaddr,0,sizeof(servaddr)); servaddr.sin_family=AF_INET; servaddr.sin_port=htons(5188); servaddr.sin_addr.s_addr=inet_addr("127.0.0.1"); connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr)); int MAX=128; char recvbuf[MAX]; char sendbuf[MAX]; while(fgets(sendbuf,MAX,stdin)) { write(sockfd,sendbuf,strlen(sendbuf)); int n=read(sockfd,recvbuf,MAX); fputs(recvbuf,stdout); memset(recvbuf,0,MAX); memset(recvbuf,0,MAX); } close(sockfd);}
阅读全文
0 0
- 一个简单的网络通信程序
- 简单的网络通信程序 TCP
- 一个简单的socket通信聊天程序
- 一个简单的java socket通信程序
- 一个简单的NIO Socket通信程序
- 一个简单的接收网络数据程序
- 一个简单的 UDP网络程序
- 一个简单的网络抓包程序
- 一个简单的网络爬虫程序
- 网络通信(一):简单的聊天程序
- 一个简单的JAVA网络通信 UDP 单工方式
- Android Reader -- 一个简单的网络通信APP
- java 网络通信封装协议-一个简单的TGP协议
- 一个简单的客户-服务器的Socket通信程序
- 一个简单的串口通信程序(vc6 mfc)
- Python一个简单的通信程序(客户端 服务器)
- java Socket(一个简单的TCP通信程序)
- java编的网络通信,简单的通信程序(1)
- I/O多路转接之poll
- 【JavaScript】我的第4个例子-实例解析
- 使用Nexus搭建Maven私服(二)
- OpenCV学习(3) OpenCV框架
- Unity 播放、停止播放、循环播放音频(笔记)
- 一个简单的网络通信程序
- Count and Say
- Shell $0, $#, $*, $@, $?, $$
- MaterialDesign学习篇(六),调色板Palette的学习
- Apache配置虚拟域名
- Docker界面管理工具
- QT5 多语言设计及键盘控制
- 回声消除的原理和应用场景
- can't be deserialize the current JSON arry (e.g[1,2,3])into type [···] because the type requires a J