UDP连接代码
时间:2022-04-22
本文章向大家介绍UDP连接代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
由于只有部分代码,自己填不上.......程序未能运行成功,悲剧!
server:
1 SOCKET s = ::socket(AF_INET,SOCK_DGRAM,IPPROTO_TCP);
2 if(s == INVALID_SOCKET)
3 {
4 printf("Failed socket()n");
5 return 0;
6 }
7 //填充sockaddr_in结构
8 sockaddr_in sin;
9 sin.sin_family = AF_INET;
10 sin.sin_port = htons(4567);
11 sin.sin_addr.S_un.S_addr = INADDR_ANY;
12 //绑定这个套接字的一个本地地址
13 if(::bind(s,(LPSOCKADDR)&sin,sizeof(sin)) == SOCKET_ERROR)
14 {
15 printf("Failed bind()n");
16 return 0;
17 }
18 //进入监听模式
19 if(::listen(s,2) == SOCKET_ERROR)
20 {
21 printf("Failed listen()n");
22 return 0;
23 }
24 //接收数据
25 char buff[1024];
26 sockaddr_in addr;
27 int nLen = sizeof(addr);
28 while(TRUE)
29 {
30 int nRecv = ::recvfrom(s,buff,1024,0,(sockaddr*)&addr,&nLen);
31 if(nRecv > 0)
32 {
33 buff[nRecv] = ' ';
34 printf("接收到数据 (%s):%s",::inet_ntoa(addr.sin_addr),buff);
35 }
36 }
37 ::closesocket(s);
client:
1 sockaddr_in addr;
2 addr.sin_family=AF_INET;
3 addr.sin_port=htons(4567);
4 addr.sin_addr.S_un.S_addr=inet_addr("49.140.16.244");
5 //发送数据
6 char szText[] = "TCP Server Demo!rn";
7 ::sendto(s,szText,strlen(szText),0,(sockaddr*)&addr,sizeof(addr));
只能这样了,日后再说
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【STM32F407】第13章 RL-TCPnet V7.X之创建多个TCP客户端
- RecyclerView实现列表倒计时
- wsl设置默认账户为root(ubuntu18.04)
- LeetCode No.14 最长公共前缀
- android异步消息机制 从源码层面解析(2)
- beego解决跨域问题:options请求、axios post请求跨域问题
- Android ListView列表实现倒计时
- [-Flutter 自组篇-] 蛛网图+绘制+动画实践
- Kotlin类型系统竟如此简单
- 以人为本 | Android 11 的消息通知
- RxJava取消订阅的各种方式的实现
- [- Flutter 基础篇 -] ListView的使用
- Emoji表情在Android JNI中的兼容性问题详解
- 一个吸顶Item的简单实现方法分享
- [- Flutter福利篇 -] Hero转场组件共享 — 附赠-路由动画工具类