socket編程基础.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
socket編程基础

Socket提供的系统调用或函数比如通讯过程中每次读多少字节,以什么表示结束就两个任务吧,就是把现在对字符串的处理,再分别用消息队列通讯的方式实现和shell脚本实现socket()获得一个socket文件描述符bind将指定socket绑定到某端口connect连接到远程某个端口listen()侦听等待远程连接accept()接受了一个远程连接send(),recv()发送或接收数据(TCP)sendto(),recvfrom()发送或接收数据(UDP)close()关闭socket描述符shutdown()改变socket可用性getpeername()获得连接另外一端的地址信息gethostname()获得本机主机名gethostbyname()根据主机名得到主机地址信息inet_addr()将IP地址字符串转换成网络字节序的4字节地址客户机/服务器模式1. Socket编程基础(7)客户机/服务器模式socket()bind()listen()recv()close()socket()connect()recv()send()close()blocks until server receivesa connect request from clientdatadataServerClientaccept()send()connect negotiationSocket编程基础重要的数据结构sockaddr结构,存放各种socket的地址信息struct sockaddr {unsigned short sa_family; // address family, AF_xxx char sa_data[14]; // 14 bytes of protocol address};//总长度16字节sockaddr_in,存放Internet socket地址信息struct sockaddr_in {short int sin_family; // Address familyunsigned short int sin_port; // Port numberstruct in_addr sin_addr; // Internet addressunsigned char sin_zero[8]; // Same size as struct sockaddr };struct in_addr {uint32_t s_addr; // thats a 32-bit int (4 bytes)}; Socket提供的系统调用或函数的详细讲解socket(建立一个socket通信) 相关函数? accept,bind,connect,listen 表头文件? #includesys/types.h #includesys/socket.h 定义函数? int socket(int domain,int type,int protocol); 函数说明? socket()用来建立一个新的socket,也就是向系统注册,通知系统建立一通信端口。参数domain 指定使用何种的地址类型,完整的定义在/usr/include/bits/socket.h 内,底下是常见的协议: PF_UNIX/PF_LOCAL/AF_UNIX/AF_LOCAL UNIX 进程通信协议 PF_INET?AF_INET Ipv4网络协议 PF_INET6/AF_INET6 Ipv6 网络协议 PF_IPX/AF_IPX IPX-Novell协议 PF_NETLINK/AF_NETLINK 核心用户接口装置 PF_X25/AF_X25 ITU-T X.25/ISO-8208 协议 PF_AX25/AF_AX25 业余无线AX.25协议 PF_ATMPVC/AF_ATMPVC 存取原始ATM PVCs PF_APPLETALK/AF_APPLETALK appletalk(DDP)协议 PF_PACKET/AF_PACKET 初级封包接口 参数? type有下列几种数值: SOCK_STREAM 提供双向连续且可信赖的数据流,即TCP。支持OOB 机制,在所有数据传送前必须使用connect()来建立连线状态。 SOCK_DGRAM 使用不连续不可信赖的数据包连接 SOCK_SEQPACKET 提供连续可信赖的数据包连接 SOCK_RAW 提供原始网络协议存取 SOCK_RDM 提供可信赖的数据包连接 SOCK_PACKET 提供和网络驱动程序直接通信。 protocol用来指定socket所使用的传输协议编号,通常此参考不用管它,设为0即可。 返回值? 成功则返回socket处理代码,失败返回-1。 错误代码? EPROTONOSUPPORT 参数doma

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档