6.socket编程(ppt)new

6.socket编程(ppt)new

ID:34417228

大小:408.00 KB

页数:22页

时间:2019-03-05

6.socket编程(ppt)new_第1页
6.socket编程(ppt)new_第2页
6.socket编程(ppt)new_第3页
6.socket编程(ppt)new_第4页
6.socket编程(ppt)new_第5页
资源描述:

《6.socket编程(ppt)new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SocketSocket网络编程Socket网络编程主讲人::李奎:李奎socketsocket网络编程基础socket网络编程基础•socketsocketsocket概述socket概述linuxlinux中的网络编程通过linux中的网络编程通过socketsocket接口实现socket接口实现。。Socket。Socket既是一种特殊的IOIOIO,IO,,它也是一种文件描述符,它也是一种文件描述符。。一个完整。一个完整的的Socket的SocketSocket都有一个相关描述Socket都有一个相关描述{{{协议{协议,,本

2、地地址,本地地址,,本地端,本地端口口,口,,远程地址,远程地址,,远程端口,远程端口}}};};;每一个;每一个SocketSocket有一个本地Socket有一个本地的唯一SocketSocket号Socket号号,号,,由操作系统分配,由操作系统分配。•套接字有三种类型:•流式套接字((SOCK_STREAM(SOCK_STREAMSOCK_STREAM)SOCK_STREAM)–流式的套接字可以提供可靠的流式的套接字可以提供可靠的、、面向连接的通讯流、面向连接的通讯流。它使用了了TCP了TCPTCP协议TCP协议。。TCP。TC

3、PTCP保证了数据传输的正确性和顺TCP保证了数据传输的正确性和顺序性。•数据报套接字((SOCK_DGRAM(SOCK_DGRAMSOCK_DGRAM)SOCK_DGRAM)–数据报套接字定义了一种无连接的服务数据报套接字定义了一种无连接的服务,,数据通过相,数据通过相互独立的报文进行传输,,是无序的,是无序的,,并且不保证可靠,并且不保证可靠,,无差错,无差错。。使用数据报协议。使用数据报协议UDPUDP协议UDP协议。•原始套接字–原始套接字允许对低层协议如原始套接字允许对低层协议如IPIPIP或IP或或ICMP或ICMPICMP

4、直接访问ICMP直接访问,,主,主要用于新的网络协议实现的测试等。基于数据流的socketsocket编程流程socket编程流程数据报的编程流程套接字地址结构structstructsockaddrstructsockaddrsockaddr{sockaddr{{{unsignedshortunsignedshortsa_familyunsignedshortsa_familysa_family;sa_family;;;/*address/*address族/*address族族,族,,,AF_xxxAF_xxxAF_xxx*/AF_

5、xxx*/*/*/charsa_data[14];/*14bytes/*14bytes的协议地址/*14bytes的协议地址***/*///};};};sa_familysa_family一般来说sa_family一般来说,,IPV4,IPV4IPV4使用IPV4使用““AF_INET“AF_INETAF_INET”AF_INET””。”。sa_datasa_data包含了一些远程电脑的地址sa_data包含了一些远程电脑的地址、、端口和套接字、端口和套接字的数目,,它里面的数据是杂溶在一起的,它里面的数据是杂溶在一起的。结构体数组st

6、ructstructsockaddr_instructsockaddr_insockaddr_in:sockaddr_in:为了处理structsockaddrstructsockaddr,structsockaddr,,程序员建立了另外一个,程序员建立了另外一个相似的结构体数组structsockaddr_instructsockaddr_in:structsockaddr_in:structsockaddr_in{shortintsin_family;/*Internet/*Internet地址族/*Internet地址族***/*

7、///unsignedshortintsin_port;/*/*端口号/*端口号***/*///structin_addrsin_addr;/*Internet/*Internet地址/*Internet地址***/*///unsignedcharsin_zero[8];/*/*添/*添添0添000(((和(和和struct和structsockaddrsockaddr一样大小sockaddr一样大小))*)***////};};};1.1.1.struct1.structstructin_addrstructin_addrin_add

8、r{in_addr{{{2.2.2.unsignedlong2.unsignedlongunsignedlongs_addrunsignedlongs_addrs_addr;s_addr;;;3.3.3.}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。