下载此文档

【Linux的高级应用编程】TCP-IP网络编程函数解析.pdf


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
踏雪无痕
【Linux的高级应用编程】TCP/IP网络编程函数解析
分类: Linux C++ 2011-11-25 16:35 153人阅读评论(0) 收藏举报
TCP/IP网络编程函数解析
 
Sailor_forever  sailing_9806@转载请注明
http://blog./sailor_8318/archive/2009/01/08/
 
 
  socket(建立一个socket通信)
相关函数 accept,bind,connect,listen
表头文件#include<sys/>
#include<sys/>
定义函数 int socket(int domain,int type,int protocol);
函数说明 socket()用来建立一个新的socket,也就是向系统注册,通知系统建立一通信端口。参数domain 指
定使用何种的地址类型,完整的定义在/usr/include/bits/ 内,底下是常见的协议:
PF_UNIX/PF_LOCAL/AF_UNIX/AF_LOCAL UNIX 进程通信协议
/ Ipv4网络协议
6/6 Ipv6 网络协议
PF_IPX/AF_IPX IPX-Novell协议
参数 type有下列几种常见数值:
SOCK_STREAM 提供双向连续且可信赖的数据流,即TCP。支持OOB 机制,在所有数据传送前必须使用
connect()来建立连线状态。
SOCK_DGRAM 使用不连续不可信赖的数据包连接
SOCK_RAW 提供原始网络协议存取
protocol用来指定socket所使用的传输协议编号,通常此参考不用管它,设为0即可。
返回值成功则返回socket处理代码,失败返回-1。错误原因存于errno中。
错误代码 EPROTONOSUPPORT 参数domain指定的类型不支持参数type或protocol指定的协议
ENFILE 核心内存不足,无法建立新的socket结构
EMFILE 进程文件表溢出,无法再建立新的socket
ESS 权限不足,无法建立type或protocol指定的协议
ENOBUFS/ENOMEM 内存不足
EINVAL 参数domain/type/protocol不合法
范例参考connect()。
 
  bind(对socket定位)
相关函数 socket,accept,connect,listen
表头文件#include<sys/>
#include<sys/>
定义函数 int bind(int sockfd,struct sockaddr * my_addr,int addrlen);
函数说明 bind()用来设置给参数sockfd的socket一个名称。此名称由参数my_addr指向一sockaddr结构,对于
不同的socket domain定义了一个通用的数据结构
struct sockaddr
{
unsigned short int sa_family;
char sa_data[14];
};
sa_family 为调用socket()时的domain参数,即AF_xxxx值。
sa_data 最多使用14个字符长度。
此sockaddr结构会因使用不同的socket domain而有不同结构定义, domain,其
socketaddr结构定义便为
struct socketaddr_in
{
unsigned short int sin_family;
1
unsigned short int sin_family;
uint16_t sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[8];
};
struct in_addr
{
uint32_t s_addr;
};
sin_family 即为sa_family
sin_port 为使用的port编号
为IP 地址
sin_zero 未使用。
参数 addrlen为sockaddr的结构长度。
返回值成功则返回0,失败返回-1,错误原因存于errno中。
错误代码 EBADF 参数sockfd 非合法socket处理代码。
ESS 权限不足
ENOTSOCK 参数soc

【Linux的高级应用编程】TCP-IP网络编程函数解析 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人翩仙妙玉
  • 文件大小0 KB
  • 时间2012-09-15