socket通信之 udp协议2
来源:互联网 发布:新笔记本电脑必备软件 编辑:程序博客网 时间:2024/05/18 00:06
服务端
步骤:1. 创建套接字2. 绑定ip3. 读取数据#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <unistd.h>#include <stdlib.h>#include <linux/in.h>#define SRV_PORT 9999int main(int argc, char *argv[]){ // create a socket int srv_fd; int ret; char buf[128]; srv_fd = socket(AF_INET, SOCK_DGRAM, 0); //创建套接字 if(srv_fd < 0) { perror("socket"); exit(1); } // bind addr struct sockaddr_in self; //描述本地ip和端口的信息 self.sin_family = AF_INET; self.sin_port = htons(SRV_PORT); //self.sin_addr.s_addr = inet_addr("192.168.7.5"); //本机器的ip self.sin_addr.s_addr = htonl(INADDR_ANY); //本机器的所有ip ret = bind(srv_fd, (const struct sockaddr *)&self, sizeof(self)); //绑定ip if(ret < 0) { perror("bind"); exit(1); } struct sockaddr_in info; socklen_t len = sizeof(info); while(1) { //直接读取数据 ret = recvfrom(srv_fd, buf, 128, 0, (struct sockaddr *)&info, &len); //读取信息 if(ret < 0) { perror("read"); exit(1); } buf[ret] = '\0'; printf("from client %s (port %d) : %s\n", inet_ntoa(info.sin_addr), ntohs(info.sin_port), buf); } close(srv_fd); return 0;}
客户端
步骤:1. 创建套接字2. 发送信息#include <stdio.h>#include <string.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <unistd.h>#include <stdlib.h>#include <linux/in.h>#define SRV_PORT 9999#define SRV_IP "192.168.7.5"int main(int argc, char *argv[]){ // create socket int ret; int count = 5; //char *content = "hello server, come on baby"; char wbuf[128]; if(argc < 2) { printf("usage : ./client serverip\n"); exit(1); } int fd = socket(AF_INET, SOCK_DGRAM, 0); //创建套接字 if(fd < 0) { perror("socket"); exit(1); } struct sockaddr_in peer; peer.sin_family = AF_INET; peer.sin_port = htons(SRV_PORT); //inet_aton(SRV_IP, &peer.sin_addr); inet_aton(argv[1], &peer.sin_addr); while(1) { printf("dear, pls input your words : \n"); fgets(wbuf, 128, stdin); ret = sendto(fd, wbuf, 128, 0, (struct sockaddr *)&peer, sizeof(peer)); //发送信息 if(ret < 0) { perror("sendto"); exit(1); } } close(fd); return 0;}
0 0
- socket通信之 udp协议2
- Socket 之 UDP 协议通信-c#实现
- Socket之TCP和UDP协议通信
- python socket UDP 协议通信
- Socket之UDP通信
- UDP之socket通信
- socket之UDP通信
- Socket之UDP通信例子
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- 基于UDP协议的socket通信
- 基于UDP协议的Socket通信
- Socket通信原理,TCP,UDP协议
- C#的Socket实现UDP协议通信
- Unity3d之Socket UDP协议
- UDP: 用Socket 实现UDP 协议下的网络通信
- 如何计算时间复杂度
- leetcode:Word Search II
- 属性动画之ObjectAnimator
- 小工具【JAVA】-自定义Log文件
- spark1.6.0集群安装
- socket通信之 udp协议2
- EditText获取焦点显示按钮,点击按钮清空EditText
- Android静态安全检测 -> Intent隐式调用
- Toast的简单用法
- state-farm-distracted-driver-detection (Kaggle 比赛总结)
- 使用ContentResolver读取通话记录与短信记录
- Hadoop到saprk伪分布式安装
- 两棵树
- 动态规划--连续子序列的最大和