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

青岛外贸网站制作国内新闻大事20条

青岛外贸网站制作,国内新闻大事20条,公众号seo排名,天猫做网站TCP/IP协议是什么#xff1f; TCP/IP的英文全称是Transmission Control Protocol/Internet Protocol#xff0c;即传输控制协议/网际协议#xff0c;是一个标准的协议集合。TCP/IP网络模型分为四层#xff1a;应用层、传输层、网络层、网络接口。TCP/IP协议集合分布在传输…TCP/IP协议是什么 TCP/IP的英文全称是Transmission Control Protocol/Internet Protocol即传输控制协议/网际协议是一个标准的协议集合。TCP/IP网络模型分为四层应用层、传输层、网络层、网络接口。TCP/IP协议集合分布在传输层、网络层和数据链路层。其中传输层包括TCP、UDP网络层包括IP、ICMP、IGMP数据链路层包括ARP、RARP。 Socket是什么 抽象的理解socket就像一个门它是应用层众多用户进程与传输层之间的门。我们可以控制门一侧的应用程序而不能控制传输层这一侧的东西充其量只能设置一些TCP参数如最大缓冲区大小和最大报文段长度等。Socket帮我们屏蔽了底层负责的协议集合帮我们去组织数据符合指定的协议。 形象的理解socket中TCP的编程就像生活中打电话你要打电话给一个朋友先拨号朋友听到电话铃声后提起电话这时你和你的朋友就建立起了连接就可以对话了。等对话结束挂断电话结束此次交流。 具体到编程中套接字socket是由美国伯克利大学在UNIX上推出的一种应用程序访问网络协议的操作系统调用socket方便了程序员访问TCP/IP协议更容易开发网络应用软件。后来套接字被引进到windows平台成为开发网络应用程序的有效工具。 Windows下socket编程的步骤是怎样的 以服务器端为例 1 准备工作 程序包含WINSOCK2.H或MSWSOCK.H添加动态链接库WS2_32.LIB或WSOCK32.LIB。 2 初始化Windows socket 每个winsock应用都必须加载winsock.dll的相应版本。使用WSAStartup()函数。 3 创建socket 使用socket()函数函数为SOCKET类型。 4 定地 设置服务器IP地址和端口号存储地址信息的结构类型为SOCKADDR_IN。 5 绑定 将3步创建的套接字绑定到4步中设置的一个已知地址上。 6 开始监听 使用listen()函数。 7 接受客户端连接 8 和客户端通信 9 结束服务并清理Windows Socket和相关数据或返回第5步 Windows网络编程中的常用函数和变量类型 1 创建socket时的两个函数WSASocket和socket SOCKET WSASocket( __in          int af, __in          int type, __in          int protocol, __in          LPWSAPROTOCOL_INFO lpProtocolInfo, __in          GROUP g, __in          DWORD dwFlags ); SOCKET WSAAPI socket( __in          int af, __in          int type, __in          int protocol ); 前者是微软专门为windows操作系统开发的socket编程接口而后者是通用网络编程接口。这里只讨论socke函数。 af代表协议的地址家族如果想建立一个UDP或TCP套接字可用常量AF_INET来指代互联网协议IP。 type代表协议的套接字类型可以有下面五个值SOCK_STREAM、SOCK_DGRAM、SOCK_SEQPACKET、SOCK_RAW、SOCK_RDM。 Protocol当指定的地址家族和套接字类型有多个条目时就可以用这个参数来限定使用特定传输设定为0时系统根据af和type自动选择相应的传输。 2 定址 服务器打算监听客户机请求时必须指定一个IP地址和一个端口号客户机需要和服务器通信时也必须指定服务器的IP地址和服务端口号。 struct SOCKADDR_IN { short                     sin_family u_short                  sin_port; structin_addr         sin_addr; char                      sin_zero[8];           }; sin_family设为AF_INET以告知winsock此时正在使用IP地址家族。sin_port指定端口号。关于端口号0~1023为固定服务保留的1024~49151为普通用户的进程或程序使用的。sin_addr用于把一个IP地址保存为一个4字节的数。而inet_addr可把一个点式IP地址转换为一个32位的无符号长整数。这个函数把IP地址当作一个按网络字节顺序排列的32位无符号长整数返回。它的定义如下 unsigned long inet_addr( __in          const char* cp ); 同样在设置端口号时也设计“网络字节”顺序和“本机字节”顺序的问题Inte 86处理器上用“小头”形式来表示多字节编号字节的排序是从最无意义的字节到最有意义的字节。在网络上指定IP地址和端口号时需指定多字节值用“大头”形式来表示成为“网络字节”顺序。专门用于两者转换的函数是htonl和htons分别返回长整型或短整型。 3 绑定 将创建的套接字与已知地址绑定使用bind函数定义如下 int bind( __in          SOCKET s, __in          const struct sockaddr* name, __in          int namelen ); 第一个参数s代表等待客户机连接的那个套接字。第二个参数是一个普通的缓冲区需要根据使用的协议填充一个struct sockaddr类型的指针。第三个参数代表由协议决定的地址的长度。 4 监听 将套接字设置为监听模式bind函数只是将一个套接字和一个指定的地址关联在一起指示一个套接字等候进入连接的函数则是listen。定义如下 int listen( __in          SOCKET s, __in          int backlog ); 第一个参数s代表已与指定地址绑定的套接字。第二个参数backlog代表队列中等待处理的请求最大数目。 5 接受请求 注意每接受一个连接请求将返回一个新的套接字对应于已经接受的那个客户机连接。对于该客户机后续的所有操作都应使用这个新套接字。原来的那个监听套接字仍然用于接受其他客户机连接而且仍处于监听模式。 接受请求的函数定义如下 SOCKET accept( __in          SOCKET s, __out         struct sockaddr* addr, __in_out      int* addrlen ); 第一个参数s代表处于监听模式的套接字第二个参数代表一个有效的SOCKADDR_IN结构的地址第三个参数addrlen代表SOCKADDR_IN结构的长度。 6 发起连接客户机 连接使用connect函数其定义如下 int connect( __in          SOCKET s, __in          const struct sockaddr* name, __in          int namelen ); 第一个参数s代表即将在其上面建立连接的客户机套接字第二个参数name是服务端套接字地址第三个参数是套接字地址的长度。 7 数据传输 对于TCP方式收发数据使用send和recv函数。定义如下 int send( __in          SOCKET s, __in          const char* buf, __in          int len, __in          int flags ); int recv( __in          SOCKET s, __out         char* buf, __in          int len, __in          int flags ); 第一个参数s代表已经建立连接的套接字第二个参数buf代表字符缓冲区区内包含即将发送的数据第三个参数len代表即将发送的缓冲区的字符数。第四个参数flags可为0、MSG_DONTROUTE或MSG_OOB。 对于UDP方式收发数据使用recvfrom和sendto函数。定义如下 int recvfrom( __in          SOCKET s, __out         char* buf, __in          int len, __in          int flags, __out         struct sockaddr* from, __in_out      int* fromlen ); int recvfrom( __in          SOCKET s, __out         char* buf, __in          int len, __in          int flags, __out         struct sockaddr* from, __in_out      int* fromlen ); 由于UDP先前不需要建立连接所以发送数据和接受数据时需要制定对方的IP地址信息。 8 中断连接 完成任务就应该关掉连接释放关联到套接字的所有资源。执行closesocket即可但closesocket可能会带来负面影响即可能会导致数据的丢失。所以在调用closesocket函数之前利用shutdown函数可从容中断连接。
http://www.w-s-a.com/news/849846/

相关文章:

  • 网站开发完整视频网站上传 404
  • 自适应网站做推广北京建设工程招标网
  • 外贸网站设计注意事项网上商城官网入口
  • 正规的营销型网站建设公司微官网是网站吗
  • 南京行业门户网站无锡阿里巴巴做网站
  • 河北省和城乡住房建设厅网站wamp wordpress打不开
  • 在哪个平台做网站比较好自动app优化
  • 有没有能帮人快速网站备案的机构个人学做网站
  • 凌云县 城市建设 网站西安市建网站
  • 织梦xml网站地图公众号公众平台
  • 长春省妇幼网站做四维学校网站系统破解版
  • 安阳免费搭建自己的网站个人网站做商城会怎样
  • 网站建设专家公司排行网站举报有奖平台
  • 程序员不是做网站的公司装修效果全景图
  • 桥东区住房和建设局网站怎么做网上问卷
  • 做期货要看哪些网站伪装的福祉 wordpress
  • 做网站需要多少费用网站建设需要懂什么语言
  • 网站手机端做app开发商城设计方案
  • 在建设厅网站上查询注销建造师查域名是否注册
  • 企业网站推广方案策划公司网站在国外打开很慢使用cdn好还是国外租用服务器好
  • 龙华o2o网站建设百度不收录什么网站吗
  • 模板搭建网站百度信息流推广
  • 移动端网站制作模板自己做的网站点击赚钱
  • 网站站长如何赚钱wordpress抓取别人网站
  • 做网站媒体专门做产品定制的网站
  • 公司企业网站建设步骤免费asp网站模板
  • 台州企业网站搭建价格做留言的网站
  • 西安网站建设q.479185700強高端网站设计定制公司
  • 网站设计是平面设计吗音频文件放到网站空间里生成链接怎么做
  • seo是对网站进行什么优化可以在哪些网站做翻译兼职