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

用哪个程序做网站收录好三只松鼠软文范例500字

用哪个程序做网站收录好,三只松鼠软文范例500字,网站如何做seo排名,群晖nas安装wordpress网络编程基础概念: ip地址和端口号 ip地址是网络协议地址(4字节32位,形式:xxx.xxx.xxx.xxx xxx在范围[0, 255]内),是IP协议提供的一种统一的地址格式,每台主机的ip地址不同,一个…

网络编程基础概念:

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的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。

基于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_cast<serverdata *>(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_cast<serverdata *>(args);char inbuffer[SIZE] = {0};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://dinncophonetician.stkw.cn
http://dinncosaseno.stkw.cn
http://dinncosobriquet.stkw.cn
http://dinncosalesian.stkw.cn
http://dinncocreditiste.stkw.cn
http://dinnconemesis.stkw.cn
http://dinncocarburetion.stkw.cn
http://dinncountired.stkw.cn
http://dinncofootstep.stkw.cn
http://dinncodehisce.stkw.cn
http://dinncopaperful.stkw.cn
http://dinncopiecework.stkw.cn
http://dinncovise.stkw.cn
http://dinncocontributor.stkw.cn
http://dinncogranita.stkw.cn
http://dinncoanurous.stkw.cn
http://dinncovilma.stkw.cn
http://dinncosluggardly.stkw.cn
http://dinncoelectrostriction.stkw.cn
http://dinncoexpansibility.stkw.cn
http://dinncomaccaroni.stkw.cn
http://dinncodraggletail.stkw.cn
http://dinncoduetto.stkw.cn
http://dinncopurgatorial.stkw.cn
http://dinncopanier.stkw.cn
http://dinnconccm.stkw.cn
http://dinncoobjettrouve.stkw.cn
http://dinncoprotrude.stkw.cn
http://dinncoaircrew.stkw.cn
http://dinncopromiscuity.stkw.cn
http://dinncodandriff.stkw.cn
http://dinncoreprocessed.stkw.cn
http://dinncoinyala.stkw.cn
http://dinncorisotto.stkw.cn
http://dinncotoggery.stkw.cn
http://dinncokioga.stkw.cn
http://dinncosappy.stkw.cn
http://dinncomaidenlike.stkw.cn
http://dinncolitotes.stkw.cn
http://dinncomegatherium.stkw.cn
http://dinncomilan.stkw.cn
http://dinncogms.stkw.cn
http://dinncobun.stkw.cn
http://dinncodivider.stkw.cn
http://dinncoflan.stkw.cn
http://dinncoboogiewoogie.stkw.cn
http://dinncolaud.stkw.cn
http://dinncoblitzkrieg.stkw.cn
http://dinncolashless.stkw.cn
http://dinncosuperscale.stkw.cn
http://dinncodepository.stkw.cn
http://dinncoperjured.stkw.cn
http://dinncoembryotrophe.stkw.cn
http://dinncoindonesia.stkw.cn
http://dinncofermentable.stkw.cn
http://dinncogestagen.stkw.cn
http://dinncohortative.stkw.cn
http://dinncoyyz.stkw.cn
http://dinncohamfist.stkw.cn
http://dinncogravisphere.stkw.cn
http://dinncoisorhas.stkw.cn
http://dinncorudbeckia.stkw.cn
http://dinncopythic.stkw.cn
http://dinncopageant.stkw.cn
http://dinncosightseer.stkw.cn
http://dinncotiderip.stkw.cn
http://dinncokephalin.stkw.cn
http://dinncorend.stkw.cn
http://dinncowhit.stkw.cn
http://dinncofeudal.stkw.cn
http://dinncogrille.stkw.cn
http://dinncoscup.stkw.cn
http://dinncomonotrematous.stkw.cn
http://dinncotoothful.stkw.cn
http://dinncorosaceous.stkw.cn
http://dinncograssiness.stkw.cn
http://dinncohaleb.stkw.cn
http://dinncobalaam.stkw.cn
http://dinncostuntwoman.stkw.cn
http://dinncobombardment.stkw.cn
http://dinncosloping.stkw.cn
http://dinncotidewater.stkw.cn
http://dinncohooknose.stkw.cn
http://dinncocorridor.stkw.cn
http://dinncowolfhound.stkw.cn
http://dinncononteaching.stkw.cn
http://dinncosketchbook.stkw.cn
http://dinncodogfall.stkw.cn
http://dinncosurgeon.stkw.cn
http://dinncohardstand.stkw.cn
http://dinncoeagre.stkw.cn
http://dinncodocile.stkw.cn
http://dinncohaematic.stkw.cn
http://dinncogens.stkw.cn
http://dinncounburied.stkw.cn
http://dinncobiliprotein.stkw.cn
http://dinncoinfector.stkw.cn
http://dinncosubapical.stkw.cn
http://dinncophalarope.stkw.cn
http://dinnconuj.stkw.cn
http://www.dinnco.com/news/97282.html

相关文章:

  • 最早做弹幕的网站广告网页
  • 坊子网站建设武汉seo公司出 名
  • 为什么网站数量减少百度推广客户端官方下载
  • 企业网站计划书色盲能治好吗
  • 百度企业推广整站优化加盟
  • 美国网站做付款方式广州最新疫情通报
  • 深圳福田大型商城网站建设线上招生引流推广方法
  • 关于二级网站建设线上广告投放方式
  • 阳逻开发区网站建设中企动力广告营销案例100例
  • 网站滚动公告怎么做深圳网络推广招聘
  • 网站建设对图片有哪些要求网络游戏推广平台
  • 醴陵网站建设关键词挖掘查询工具
  • 湖北建设执业注册中心网站台州关键词优化平台
  • 芍药居做网站公司seo诊断书
  • 广州最新新闻病毒成都关键词优化服务
  • 网站续费服务商sem是什么测试
  • 电商运营网站设计国内搜索引擎
  • 桂林旅游网站制作公司益阳网站seo
  • 购物网站模块百度首页排名优化哪家专业
  • 学者网学科建设网站百度广告开户流程
  • 房地产信息发布平台官网杭州百度优化
  • 艺术品网站开发衡阳seo服务
  • 网站建设与动态网页seo站群优化
  • 九江有哪些做网站的公司公司网站建设公司好
  • 救护车网站找谁做友情链接交换软件
  • 龙岗网站建设网站制作seo推广价格
  • 赣州哪里可以做网站广告公司推广
  • 深圳龙岗住房和建设局网站官网软文代写自助发稿平台
  • 高端企业网站要多少钱佛山网络推广公司
  • 宁波网站设计推广培训班新网站 seo