当前位置: 首页 > news >正文

个性化推荐网站开发源码网站如何做问卷调查

个性化推荐网站开发源码,网站如何做问卷调查,php网站源码,html5响应式网站开发教程基于的UDP套件字编程流程 UDP传输层的协议,面向无连接,数据报的传输层协议。 “ 无连接 ”:不可靠 在网络环境较好的情况下,UDP效率较高在网络环境较差的情况下,UDP可能存在丢包的情况同时一些“ 实时应用 ” 采用UD…

基于的UDP套件字编程流程

UDP传输层的协议,面向无连接,数据报的传输层协议。
“ 无连接 ”:不可靠

  • 在网络环境较好的情况下,UDP效率较高
  • 在网络环境较差的情况下,UDP可能存在丢包的情况
  • 同时一些“ 实时应用 ” 采用UDP
  • 在应用层加一些保证传输可靠的“1

UCP网络应用

  • Recver 接收端(TCP
  • Sender 发送端(TCP

UDP网络应用的编程流程

UDP Sender(接收端)
创建一个套接字

同样使用socket接口申请一个套接字

  • SOCK_DGRAM 类型的套接字

绑定网络地址
同样使用bind接口将一个套接字和一个网络地址进行绑定

数据通信

  • 接收

    • RECV(2)                                                                 Linux Programmer's Manual                                             RECV(2)NAMErecv, recvfrom, recvmsg - receive a message from a socketSYNOPSIS#include <sys/types.h>#include <sys/socket.h>ssize_t recvfrom(int sockfd, void *buf, size_t len, int 
      flags,struct sockaddr *src_addr, socklen_t *addrlen);/*@描述:从一个套接字中接收数据@sockfd:接收数据的套接字@buf:接收到的数据所存放的位置/空间@len:接收数据的空间有多大@flags:标志位:一般为0@src_addr:指向网络地址信息的结构体空间,用来存储发送者信息的结构体,可以为
      NULL,表示不关系发送者信息@addrlen:指向网络地址信息结构体的空间大小的指针@return:成功返回实际读取字节数失败返回-1*/
      

关闭套接字

UDP Client(发送端)

创建一个套接字
同样使用socket接口申请一个套接字

  • SOCK_DGRAM 类型的套接字

数据通信

  • 发送
SEND(2)                                                                 Linux Programmer's Manual                                               SEND(2)NAMEsend, sendto, sendmsg - send a message on a socketSYNOPSIS#include <sys/types.h>#include <sys/socket.h>ssize_t sendto(int sockfd, const void *buf, size_t len, int 
flags,const struct sockaddr *dest_addr, socklen_t addrlen);/*@描述:通过一个合法套接字往一个指定的地址发送一条消息@sockfd:网络套接字@buf:需要发送的内容指针@len:需要发送的内容长度@flags:标志位:一般采用0@dest_addr:目标地址,接收方的网络地址@addrlen:目标网络地址结构体的大小@return:成功返回实际发送的字节数失败返回-1*/

关闭套接字

示例

接收端

#include <iostream>
#include <sys/socket.h>
#include <sys/types.h>
#include <cstring>
#include <arpa/inet.h>#include <unistd.h>
using namespace std;
// UDP编程客户端int main()
{// 创建一个套接字int socket_udpid = socket(AF_INET, SOCK_DGRAM, 0);if(socket_udpid == -1){perror("创建套接字失败");return -1;}cout << " 套接字创建成功" << endl;// 绑定一个网络地址:(bind)struct sockaddr_in addr;// 指定为IPV4addr.sin_family = AF_INET;addr.sin_port = htons(8989); //指端口addr.sin_addr.s_addr = inet_addr("192.168.5.128");// sizeof(addr) 返回的值会被隐式转换为 socklen_t 类型。if((bind(socket_udpid, (const struct sockaddr* )&addr, sizeof(addr))) == -1){perror("绑定失败");return -1;}cout << "绑定成功" << endl;// 通信while(1){// 接收数据char buf[1024] = {0};struct sockaddr_in  sendInfor;socklen_t len = sizeof(sendInfor);if(recvfrom(socket_udpid, buf, 1024 , 0 ,(struct sockaddr*) &sendInfor, &len) == -1){perror("接收数据失败");return -1;}if(strcmp(buf, "exit") == 0){cout << "结束通信" << endl;break;}cout << "接收到的数据是:" << buf << endl;}// 关闭套接字close(socket_udpid);return 0;
}

发送端

#include <winsock2.h>
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{// 初始化网络库WSADATA wsData;WSAStartup(MAKEWORD(2,2) ,&wsData);// 创建套接字SOCKET socket_udpid = socket(AF_INET, SOCK_DGRAM, 0);if(socket_udpid == INVALID_SOCKET){cerr <<  "连接失败,错误码:" << WSAGetLastError() << endl;WSACleanup();return -1;}// 设置接收端的地址struct sockaddr_in addr;addr.sin_family = AF_INET;addr.sin_port = htons(8989);addr.sin_addr.s_addr = inet_addr("192.168.5.128");int addlen = sizeof(addr);while(1){//发送信息char senfbuf[1024] = {0};cout << "请输入";cin >> senfbuf;sendto(socket_udpid, senfbuf, sizeof(senfbuf), 0,(const sockaddr*)&addr, addlen );if(strcmp(senfbuf, "exit") == 0){cout << "结束通信" << endl;break;}}//关闭套接字
closesocket(socket_udpid);
return 0;
}
http://www.dtcms.com/a/477029.html

相关文章:

  • 网站的盈利方式网站建设策划包括哪些内容
  • 公司网站建设完成通知用php做电商网站
  • 汉中网站建设推广建设工程施工合同解除
  • 虚拟主机可以建设什么网站汕头站
  • 建立门户网站的意义网站备案号有什么用
  • 做网站为什么要钱青岛网站建设制作公司
  • 网站什么时候做SEO优化最合适一般设计网站页面用什么软件
  • 建设银行车贷网站发稿什么意思
  • 中企动力做网站怎么样怎么做自己公司的app
  • 在上海做兼职在哪个网站做网站应该先从什么地方开始
  • 网站建设名词解析中国联合网络通信有限公司
  • 网站中竖导航栏怎么做wordpress 个人简洁
  • 英文网站设计哪家好广州高端网站建设公司
  • 公司网站建设前期方案丹麦做网站公司有哪些
  • 网站恶意点击软件一个人如何注册公司
  • 做网站是否用数据库现代简约办公室设计
  • 网站开发语言选择电商网站 投诉
  • 九曲网站建设百度 手机网站收录
  • 网站横幅js代码网站积分的作用
  • 网站开发客户来源网站备案ip查询网站
  • 苏州个人网站制作公司狼雨seo网站排名查询
  • 花卉电子商务网站开发wordpress文章标题高亮插件
  • 网站开发 路由免费的网站有哪些
  • 郑州网站建设公司排行重庆卓光网站建设
  • 音乐网站网页设计网站正建设中
  • 信用卡网站建设温岭网站设计
  • 网站建设推广优化公司如何有效的推广网站
  • c2c网站特点做网站需要多大的空间
  • 南京建设网站哪家好开发一款新闻app需要多少钱
  • 智能建站工具企业网站设计模板免费下载