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

恒网做的网站做网站要哪些人员

恒网做的网站,做网站要哪些人员,百度域名值多少钱,怎么建立自己的微信商城网络编程基础概念#xff1a; ip地址和端口号 ip地址是网络协议地址#xff08;4字节32位#xff0c;形式#xff1a;xxx.xxx.xxx.xxx xxx在范围[0, 255]内#xff09;#xff0c;是IP协议提供的一种统一的地址格式#xff0c;每台主机的ip地址不同#xff0c;一个…网络编程基础概念 ip地址和端口号 ip地址是网络协议地址4字节32位形式xxx.xxx.xxx.xxx    xxx在范围[0, 255]内是IP协议提供的一种统一的地址格式每台主机的ip地址不同一个主机可以有多个ip地址一个ip地址只能被一个主机占用。 端口号 (port) 是传输层协议的内容。 端口号是一个2字节16位的整数。 端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理。 IP地址 端口号能够标识网络上的某一台主机的某一个进程。 一个端口号只能被一个进程占用。 仅使用主机的ip地址就可以实现两主机中不同的应用进程进行网络通信吗不可以。ip地址只是锁定要向那个主机发送信息要想进行不同主机之间应用进程间的网络通信就必须要有端口号。比如你的手机相当于是一个客户端主机手机里有聊天应用、短视频应用、游戏等各种应用当你进入游戏时你的客户端会向游戏服务端发送请求此时游戏服务端必须要有唯一的你的手机中该游戏应用的端口号否则仅凭ip地址游戏服务端可能会将响应发送给你的手机的其他应用。 在 网络层协议的IP 数据报头部中 , 有两个 IP 地址 , 分别作源 IP 地址 和目的 IP 地址。 传输层协议 (TCP 和 UDP) 的数据段中有两个端口号 , 分别叫做源端口号和目的端口号 都是描述 数据是谁发的 , 要发给谁 。 网络字节序 内存中的多字节数据相对于内存地址有大端和小端字节序之分。 TCP/IP协议规定网络数据流应采用大端字节序,即低地址高字节进行传输。 不管这台主机是大端机还是小端机都会按照这个TCP/IP规定的网络字节序来发送/接收数据。 如果当前发送主机是小端, 就需要先将数据转成大端; 否则就忽略, 直接发送就可以。 将数据转换为网络字节序的函数 套接字Socket是一种独立于协议的网络编程接口。对网络中不同主机上的应用程序之间进行双向通信的端点的抽象一个套接字就是网络中进程通信的一端为应用层进程提供利用网络协议交换数据的机制。套接字上联应用进程下联网络协议栈是应用程序通过网络协议进行通信的接口、是应用程序与网络协议栈进行交互的接口。 创建套接字 主机信息与套接口之间进行绑定 对于服务端需要我们显式绑定而对于客户端操作系统会自动绑定。 服务端/客户端向服务端/客户端发送消息 服务端/客户端接收信息 可以清空数据类型变量的函数bzero: sockaddr_in结构体中的in_addr结构体类型源代码定义 结构体sin_addr里包含了主机ip地址 INADDR_ANY是指定地址为0.0.0.0的地址这个地址事实上表示不确定地址或“所有地址”、“任意地址”。 网络字节序和主机字节序转换的库函数 为使网络程序具有可移植性 , 使同样的 C 代码在大端和小端计算机上编译后都能正常运行 , 可以调用以下库函数做网络字节序和主机字节序的转换。 htonlhost主机字节序  转换为   net网络字节序 。转换的数据类型是uint32_t 基于UDP 客户端多线程 UdpClient.cxx #include iostream #include string #include sys/types.h #include sys/socket.h #include netinet/in.h #include arpa/inet.h #include pthread.h #include unistd.h// 客户端基于多线程向服务端收发消息#define SIZE 1024 void UsageMethod(const std::string str) {std::cout str ser ip ser port std::endl; }void *SendMessage(void *args) {serverdata *svdata static_castserverdata *(args);std::string info; // 给服务端发信息所用的缓存区while (true){std::cout Please Enter:;std::getline(std::cin, info);socklen_t len sizeof(svdata-_server);sendto(svdata-_sockfd, info.c_str(), info.size(), 0, (const sockaddr *)(svdata-_server), len);}return nullptr; }void *ReceiveMessage(void *args) {serverdata *svdata static_castserverdata *(args);char inbuffer[SIZE];while (true){struct sockaddr_in svtmp;socklen_t len sizeof(svtmp);recvfrom(svdata-_sockfd, inbuffer, sizeof(inbuffer) - 1, 0, (sockaddr *)(svdata-_server), len);std::cout client get message: inbuffer std::endl;} }struct serverdata {struct sockaddr_in _server;int _sockfd; }; int main(int argc, char *argv[]) // 客户端不需要显式bind 端口号 和 ip地址 {if (argc ! 3){UsageMethod(argv[0]);exit(0);}std::string serverip argv[1];std::string serverport argv[2];// 服务端信息struct sockaddr_in server;server.sin_family AF_INET;server.sin_addr.s_addr inet_addr(serverip.c_str());auto port std::stoi(serverport.c_str()); // 先将string类型的port转换为uint16_t类型以满足函数传参server.sin_port htons(port);// 创建客户端的套接字int sockfd socket(AF_INET, SOCK_DGRAM, 0);if (sockfd 0){perror(socket error);}serverdata sd;sd._sockfd sockfd;sd._server server;// 创建线程pthread_t sender, receiver;pthread_create(sender, nullptr, SendMessage, sd); // 先客户端发送信息的线程pthread_create(receiver, nullptr, ReceiveMessage, sd);//等待线程pthread_join(sender, nullptr);pthread_join(receiver, nullptr);close(sockfd);return 0; }
http://www.dnsts.com.cn/news/37649.html

相关文章:

  • 在家没事做建什么网站好wordpress备份数据库结构
  • 旅游网站建设ppt江苏缘生源建设工程有限公司网站
  • 域名持有者个人可以做公司网站手机网站解析
  • 网站制作设计报价专门做酒的网站有哪些
  • 威海市网站建设业务平台
  • 上海中小企业网站平台网站建设外包
  • 视频 怎么做网站专门做餐饮ppt的网站
  • 网站制作要钱吗django 和wordpress
  • 专注于响应式网站开发crm系统是什么意思
  • 做网站编程需要学什么软件海外域名商
  • 2023年简短新闻三十条新站seo竞价
  • 河南十大营销策划公司seo排行榜年度10佳网站
  • 关于申请网站建设经费的报告大型门户网站建设工作总结
  • 中山手机网站建设电话电子商务网站界面设计
  • 小型网站设计及建设论文百度知道app官方下载
  • 怎么查网站是那个公司做的网站建设的请示报告
  • 山东网站建设开发收费网站必须备案吗
  • 上传网站安装教程sem推广平台有哪些
  • 桂林建网站的公司建设专业网站哪家比较好
  • 上海网站建设报价表做资源网站需要什么软件
  • 杭州网站建设 博客Wordpress虚拟资源交易
  • 怎么在一起做网站上拿货国外网络营销网站
  • 龙岩做网站的帮客户做网站 没签合同咋办
  • 高端终端网站设计类网站三亚网站推广团队
  • ps做网站时画布宽度辽宁建设工程信息网那个
  • 佛山市城乡住房建设局网站首页seo描述快速排名
  • 哪个网站是用php写的商店商品管理系统
  • 建设网站收取广告费用做决定网站
  • 学做网站最好的网站卖域名的网站
  • 什么装修网站做的好的高淳 网站建设