UDP简单实现并发服务器和客户端简单通信
来源:互联网 发布:什么社交软件好 编辑:程序博客网 时间:2024/05/16 06:08
以下程序均未做错误处理,以后有时间一定补上
客户端
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <netinet/in.h>#include <sys/socket.h>int main(int argc,char **argv){int sockfd;int n;struct sockaddr_in servaddr;char readbuf[1000];char sendbuf[1000];sockfd = socket(AF_INET,SOCK_DGRAM,0);bzero(&servaddr,sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = inet_addr(argv[1]);servaddr.sin_port = htons(3200);while(fgets(sendbuf,1000,stdin) != NULL){sendto(sockfd,sendbuf,strlen(sendbuf),0,(struct sockaddr *)&servaddr,sizeof(servaddr));n = recvfrom(sockfd,readbuf,1000,0,NULL,NULL);readbuf[n] = '\0';fputs(readbuf,stdout);}close(sockfd);return 0;}
服务器
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <netinet/in.h>#include <sys/socket.h>void strlwr(char *str){char *p;p = str;while(*p != '\0'){if((*p >= 'a') && (*p <= 'z')){*p -= 32;}p++;}}int main(){int sockfd;int n;struct sockaddr_in servaddr,cliaddr;char mesg[1000];socklen_t clilen;sockfd = socket(AF_INET,SOCK_DGRAM,0);bzero(&servaddr,sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(3200);bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));clilen = sizeof(cliaddr);for(;;){for(;;){n = recvfrom(sockfd,mesg,1000,0,(struct sockaddr*)&cliaddr,&clilen);if(n == 0){printf("client closed");exit(-1);}printf("******************\n");mesg[n] = '\0';printf("%s\n",mesg);printf("*******************\n");strlwr(mesg);sendto(sockfd,mesg,n,0,(struct sockaddr*)&cliaddr,sizeof(cliaddr));}//close(sockfd);}close(sockfd); return 0;}
0 0
- UDP简单实现并发服务器和客户端简单通信
- Python实现udp协议的简单服务器和客户端通信
- Linux C实现简单的UDP服务器客户端通信
- Java实现服务器和客户端简单通信
- Java简单实现UDP服务端和客户端的通信
- python3实现UDP协议的简单服务器和客户端
- python3实现UDP协议的简单服务器和客户端
- 实现简单UDP服务器客户端模型
- UDP服务器、客户端的简单实现
- C#服务器客户端通信简单实现
- 简单的客户端和服务器通信程序
- linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
- python socket实现简单的(TCP/UDP)服务器/客户端
- Linux C UDP Socket实现客户与服务器简单通信
- 简单的无连接的udp服务器和客户端
- Java UDP通信简单实现
- 简单UDP服务端和客户端
- UDP实现服务器与客户端通信
- 用宏求球的体积
- UVA 12097 Pie LA 3635 (二分)
- 打印九九乘法表
- Web前端分析测试要点
- 最短路径——迪杰斯特拉算法
- UDP简单实现并发服务器和客户端简单通信
- 命令提示符
- java 利用反射获得超类的子对象
- Linux命令--scp
- SVM用于手写数字识别
- Linux—简介
- 容斥原理
- c++设计模式之简单工厂模式
- C#中调用DLL时未能加载文件或程序集错误处理方法