一些Socket基本概念

一些Socket基本概念

ID:47824873

大小:328.00 KB

页数:20页

时间:2019-11-17

一些Socket基本概念_第1页
一些Socket基本概念_第2页
一些Socket基本概念_第3页
一些Socket基本概念_第4页
一些Socket基本概念_第5页
资源描述:

《一些Socket基本概念》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一些Socket的基本概念流(Stream)   具有连续性、有序性的特点。 连接(Connection) 阻塞(Block)、非阻塞(Non-block)同步(Synchronous)、异步(asynchronous)   详见socket模式 IP地址IP地址是Internet中唯一的地址标识IP地址是一个32位长(将要扩充到128位)每个Internet包必须带有IP地址使用点分十进制表示法:将IP地址的4个字节的数字用十进制表示并用点隔开,如:202.112.58.200(0xCA703AC8)子网掩码

2、(SubnetMask)也用点分十进制表示例如:255.255.0.0用于指明子网(局域网)的范围,Mask与IP地址进行与操作即可得出子网范围。例如:IP地址166.111.160.1与166.111.161.45,子网掩码:255.255.254.0,因此这两个IP地址处于同一个子网内。字节顺序:  存在两种字节顺序:NBO与HBO网络字节顺序NBO(NetworkByteOrder):按从高到低的顺序存储,在网络上使用统一的网络字节顺序,可以避免兼容性问题。主机字节顺序(HBO,HostByteOrder

3、):不同的机器HBO不相同,与CPU设计有关例如:Motorola68k系列,HBO与NBO相同,Intelx86系列,HBO与NBO相反socket编程中需要用到的头文件sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数 其他

4、在网络程序中常见的头文件unistd.h:提供通用的文件、目录、程序及进程操作的函数errno.h:提供错误号errno的定义,用于错误处理fcntl.h:提供对文件控制的函数time.h:提供有关时间的函数crypt.h:提供使用DES加密算法的加密函数pwd.h:提供对/etc/passwd文件访问的函数shadow.h:提供对/etc/shadow文件访问的函数pthread.h:提供多线程操作的函数signal.h:提供对信号操作的函数sys/wait.h、sys/ipc.h、sys/shm.h:提供进

5、程等待、进程间通讯(IPC)及共享内存的函数 建议:在编写网络程序时,可以直接使用下面这段头文件代码#include#include#include#include#include#include#include#include#include#include#include#in

6、clude#include#include#include#include  涉及到用户权限及密码验证问题时加入如下语句:#include#include#include需要注意的是,应该在编译时链接加密算法库,即增加编译选项:-lcrypt  涉及到文件及时间操作加入如下语句:#include#include#

7、include#include#include 涉及到多进程操作时加入如下语句:#include#include#include#include  涉及到多线程操作时加入如下语句:#include#include需要注意的是,应该在编译时链接线程库,即增加编译选项:-lthreadSocket常用的数据结构struc

8、tsockaddr{unsignedshortsa_family;/*addressfamily,AF_xxx*/charsa_data[14];/*14bytesofprotocoladdress*/};此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息。 但一般编程中并不直接针对此数据结构操作,而是使用另一个与sockaddr等价的数据

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

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

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