最简单服务器程序-TCP
来源:互联网 发布:nfv 电信网络架构重构 编辑:程序博客网 时间:2024/06/14 19:48
一.服务器程序
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <sys/socket.h> 5 #include <unistd.h> 6 #include <netinet/in.h> 7 #include <arpa/inet.h> 8 9 #define MAXLINE 80 10 #define SERV_PORT 6666 11 12 int main() 13 { 14 struct sockaddr_in servaddr, cliaddr; 15 socklen_t cliaddr_len; 16 int listenfd, connfd; 17 char buf[MAXLINE]; 18 char str[INET_ADDRSTRLEN]; 19 int i, n; 20 21 listenfd = socket(AF_INET, SOCK_STREAM, 0); 22 23 bzero(&servaddr, sizeof(servaddr)); 24 servaddr.sin_family = AF_INET; 25 servaddr.sin_addr.s_addr = htonl(INADDR_ANY); 26 servaddr.sin_port = htons(SERV_PORT); 27 28 bind(listenfd, (struct sockaddr*)&servaddr, sizeof(servaddr)); 29 listen(listenfd, 20); 30 printf("Accepting connections ...\n"); 31 32 while(1) 33 { 34 cliaddr_len = sizeof(cliaddr); 35 connfd = accept(listenfd, (struct sockaddr*)&cliaddr, &cliaddr_len); 36 n = read(connfd, buf, MAXLINE); 37 printf("received from %s at PORT %d\n", 38 inet_ntop(AF_INET, &cliaddr.sin_addr, str, sizeof(str)), 39 ntohs(cliaddr.sin_port)); 40 for(i = 0; i < n; i++) 41 { 42 buf[i] = toupper(buf[i]); 43 } 44 write(connfd, buf, n); 45 close(connfd); 46 } 47 return 0; 48 }
二.客户端程序
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <unistd.h> 5 #include <sys/socket.h> 6 #include <netinet/in.h> 7 8 #define MAXLINE 80 9 #define IP "127.0.0.1" 10 #define SERV_PORT 6666 11 12 int main(int argc, char* argv[]) 13 { 14 struct sockaddr_in servaddr; 15 char buf[MAXLINE]; 16 int sockfd, n; 17 char* str; 18 19 if(argc != 2) 20 { 21 fputs("usage: ./client message\n", stderr); 22 exit(1); 23 } 24 str = argv[1]; 25 26 sockfd = socket(AF_INET, SOCK_STREAM, 0); 27 28 bzero(&servaddr, sizeof(servaddr)); 29 servaddr.sin_family = AF_INET; 30 inet_pton(AF_INET, IP, &servaddr.sin_addr); 31 servaddr.sin_port = htons(SERV_PORT); 32 33 connect(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)); 34 write(sockfd, str, strlen(str)); 35 36 n = read(sockfd, buf, MAXLINE); 37 printf("Response from server:\n"); 38 write(STDOUT_FILENO, buf, n); 39 printf("\n"); 40 close(sockfd); 41 42 return 0; 43 }
1 0
- 最简单服务器程序-TCP
- 最简单的TCP程序
- C#TCP服务器简单程序
- 来一个最简单的TCP服务器
- RakNet最简单的服务器客户端程序
- 最简单服务器程序UDP(Linux)
- 使用TCP+winsock写的一个简单服务器程序
- 第9将 网络编程-简单的TCP服务器程序
- 【Unix 网络编程】TCP 客户/服务器简单 Socket 程序
- 简单TCP服务器
- 简单的TCP服务器
- 简单的TCP服务器
- Java.简单TCP服务器
- 简单TCP 循环服务器
- Java.简单TCP服务器
- TCP服务器程序
- tcp网络服务器程序
- TCP服务器/客户端程序
- 链表各类操作
- HTTPDNS--将Host->IP直接请求服务
- 在Docker Ubuntu镜像中安装tensorflow-gpu
- android Dialog式主题
- 远程访问jupyter notebook
- 最简单服务器程序-TCP
- Java值传递和地址传递:关于String类型和集合类型作为函数参数时传值问题的测试
- MAC端Git安装,命令使用以及环境搭建
- android 启动activityactivity
- 获取一个文件夹下所有文件的名称
- VRTK攻略
- Linux权限管理:ACL权限
- Android Studio设置不区分大小写
- HiveQL:索引