分类: LINUX
2010-05-16 10:49:37
typedef unsigned short sa_family_t; |
struct sockaddr_in sa_family_t sin_family;//地址族 unsigned short int sin_port;//端口号 struct in_addr sin_addr;//地址 unsigned char sin_zero[*****]//这个一般不用,不详细写了 } //其中,struct in_addr为 struct in_addr { __32 s_addr; } |
注:
1.IP地址存放在 sin_addr.s_addr内;
2.地址和端口号都是网络字节序
二.套接字上的操作:
套接字接口上的系统调用
过 程 | 客户端 | 服务器 |
向系统注册一个socket,操作结果返回套接字描述符,以后的操作需要使用这个描述符 | socket() | socket() |
绑定地址,想套接字分配一个本地地址 | bind() | bind() |
服务器监听有没有连接请求,目前仅在TCP协议中使用 |
|
listen() |
客户端建立连接,服务器接受连接。connect的作用是为发送的包指定目标地址。 | connect() | accept() |
数据交换 | write()|read() | write()|read() |
数据交换 | send()|recv() | send()|recv() |
数据交换 这两个函数要求对所有发送的数据指定目标地址,为所有接受的数据制定来源地址。 |
sendto()|recvfrom() | sendto()|recvfrom() |
数据交换 | writev()|readv() | writev()|readv() |
数据交换 | sendmsg()|recvmsg() | sendmsg()|recvmsg() |
关闭连接 close可以关闭连接,也可以关闭套接字描述符 |
close() | close() |
三。套接字操作函数
见第三篇《》