- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linuxsocket编程基础
HYPERLINK /lr-ting/archive/2012/08/24/2652482.html linux 网络编程-基础篇
#Socket简介
是一个编程接口是一种特殊的文件描述符(everything in Unix is a file)并不仅限于TCPIP协议面向连接(Transmission Control Protocol - TCPIP)无连接(User Datagram Protocol-UDP 和 Inter-Network Packet Exchange-IPX)
#Socket类型流式套接字(SOCK_STREAM)提供了一个面向连接,可靠的数据传输服务,数据无差错,无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制数据报套接字(SOCK_DGRAM)提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收原始套接字(SOCK_RAW)可以对较低层次协议如IP,ICMP直接访问
#IP地址IP地址是Internet中主机的标识Internet中的主机要与别的机器通信必须具有一个IP地址IP地址为32位(IPV4)或者128位(IPV6)每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由表示形式:常用点分形式,如0,最后都会转换为一个32位的无符号整数。
#IP地址的转换inet_aton()将strptr所指的字符串转换成32位的网络字节序二进制值int inet_aton(const char *strptr, struct in_addr *addrptr);inet_addr()功能同上,返回转换后的地址in_addr_t inet_addr(const char *strptr);inet_ntoa()将32位网络字节序二进制地址转换成点分十进制的字符串。char *inet_ntoa(struct in_addr inaddr);
#端口号为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区分TCP端口号与UDP端口号独立(协议不同可以使用同一个端口)三无组:协议,IP,端口端口号一般由IANA(Internet Assigned Numbers Authority)管理众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX系统占用已登记端口:1024~49151动态或私有端口:49152~65535
#字节序不同类型CPU的主机中,内存存储多字节整数序列有两种方法,称为主机字节序(HBO):小端序(little-endian)-低字节存储在低地址将低字节存储在起始地址,称为Little-Endian字节序,Intel,AMD等采用的是这种方式大端序(big-endian)-高序字节存储在低地址将高字节存储在起始地址,称为Big-Endian字节序,由ARM,Motorola等所采用网络中传输的数据必须按网络字节序,即大端字节序在大部分PC机上,当应用进程将整数送入socket前,需要转化成网络字节序;当应用进程从socket取出整数后,要转化成小端字节序
#字节序转换函数把给定系统所采用的字节序称为主机字节序,为了避免不同类别主机之间在数据交换时由于对于字节序的不用而导致的差错,引入了网络字节序主机字节序到网络字节序:u_long htonl(u_long hostlong);u_short htons(u_short short);网络字节序到主机字节序u_long ntohl(u_long hostlong);u_short ntohs(u_short short);
#网络编程相关APIint Socket(int domain, int type, int protocol);int bind(int Sockfd, struct sockaddr *my_addr, int addrlen);int listen(int sockfd, in backlog);int accept(int sockfd, struct sockaddr *addr, Socklen_t *addrlen);int connect(int sockfd, const struct sockaddr *addr, Socklen_t addrlen);ssize_t send(int sockfd, const void *buf, size_t len, int flags);
您可能关注的文档
最近下载
- 企业采购管理蔬菜采购验收标准DOC56页.pdf VIP
- 2025年云南省中考物理试题卷(含答案解析).docx
- 体温测量软件GBT 25000.51-2016自测报告.docx VIP
- WS∕T 225-2024 临床化学检验血液标本的采集与处理.pdf
- 信息系统的使用与维护管理办法.doc VIP
- 环境影响评价报告公示大理州永平县汽车客运站环境影响评价报告表环评报告.doc VIP
- 2022年1月广东自考《07114现代物流学》试题和答案 .pdf VIP
- Unit 1 Happy Holiday(大单元教学设计)英语人教版2025八年级上册.pdf
- 2025年军队文职人员公开招录《管理学》真题库(含答案).pdf VIP
- 网络数据安全检查项及检查方法.docx VIP
文档评论(0)