TCP/IP Sockets-1
2016-09-18 19:17
423 查看
TCP/IP Sockets-1
TCP-IPv4
创建和销毁套接字
创建套接字
int socket(int domain,int type,int protocol)
参数
domin:通信领域,常用参数:IPv4—
AF_INET和IPv6—
AF_INET6
type:套接字类型,常用参数:可靠字节流语义—
SOCK_STREAM,“尽力而为”—
OCK_DGRAM
protocol:指定特定的端到端协议:TCP—
IPPROTO_TCP,UDP—
IPPROTO_UDP
返回值
返回通信实例句柄,非负值表示成功,-1表示失败
关闭套接字
int close(int socket)
参数
通信实例句柄
返回值
失败返回-1,成功返回0
指定地址
通用地址
struct sockaddr { sa_family_t sa_family; //地址族 char sa_data[14]; //地址信息 }
IPv4地址
struct in_addr { uint32_t s_addr; //Internet address(32 bit) } struct sockaddr_in { sa_family_t sin_family; //地址族 in_port_t sin_port; //端口 struct in_addr sin_addr; //32位地址 char sin_zero[8]; //没用 }
IPv6地址
struct in6_addr { unint32_t s_addr[16]; } struct sockaddr_in6 { sa_family_t sin6_family; //地址族 in_port_t sin6_port; //端口 uint32_t sin6_flowinfol; //流信息 struct in6_addr sin6_addr; //地址信息 uint32_t sin6_scope_id; //范围标识符 }
二进制/字符串地址转换
int inet_porn(int addressFamily,const char* src,void *dst)
参数
addressFamily:地址族
src:输入字符串(地址)地址
dst:输出结果地址
返回值
指定的地址族未知,返回-1,格式化未能成功返回0
const char* inet_ntop(int addressFamily,const void* src,char * dst,socklen_t dstBytes)
参数
addressFamily:地址族
src:原地址(地址大小有地址族确定)
dst:目的地址
dstBytes:目的地址空间大小
返回值
如果返回值返回为NULL则转换失败,否则转换为目的地址
获取套接字的关联地址
int getpeername(int socket,struct sockaddr* remoteAddress,socklen_t* addressLength) int getsockname(int socket,struct sockdaddr* localAddress,socklen_t* addressLength)
作用
getpeername():获取套接字关联的外部地址
getsockname():获取套接字关联的本地地址
参数
socket:套接字的句柄
localAddress/remoteAddress:地址存放的地址空间
addressLength:地址空间的长度
链接套接字
int connet(int socket,const struct sockaddr* foreignAddress,socklen_t addressLength)
参数
socket:套接字的句柄
foreignAddress:目的地址地址结构
addressLength:结构长度
绑定到地址
int blind(int socket,struct sockaddr* localAddress,socklen_t addresssize)
参数
socket:套接字的句柄
localAddress:本地地址地址结构
addressLength:结构长度
处理进入的链接
int listen(int socket,int queueLimit)
参数
socket:套接字的句柄
queueLimiet:等待进入链接数量的上限
返回值
成功返回0,失败返回-1
int accept(int socket,struct sockadd*)
相关文章推荐
- 连接失败 Sqlstate :'01000' Sql server错误:10061 [Microsoft][ODBC Sql Server Driver][TCP/IP Sockets] c
- 《TCP/IP Sockets 编程》笔记4
- 《TCP/IP Sockets 编程》笔记5
- 《TCP/IP Sockets 编程》笔记6
- 《TCP/IP Sockets 编程》笔记4
- 《TCP/IP Sockets 编程》笔记3
- Non-Blocking Sockets in TCP/IP (The Client)
- Programming TCP/IP Windows Sockets in C++
- 《TCP/IP Sockets 编程》笔记2
- Symbain开发之网络TCP/IP Sockets连接
- 《TCP/IP Sockets 编程》笔记1
- TCP/IP Sockets in Java 源码
- TCP/IP端口以及sockets编程的一些问题以及算法一个
- 《TCP/IP Sockets 编程》笔记7
- Introduction Sockets to Programming in C using TCP/IP
- VBdotnet2005 TCP IP System.Net.Sockets应用实例
- 《TCP/IP Sockets 编程》笔记1
- 经典基础教程---Programming TCP/IP Windows Sockets in C++
- matlab使用TCP/IP Server Sockets
- 《TCP/IP Sockets 编程》笔记5