TCP/IP Sockets-1
来源:互联网 发布:张作霖 知乎 编辑:程序博客网 时间:2024/04/28 04:40
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*)
0 0
- TCP/IP Sockets-1
- 《TCP/IP Sockets 编程》笔记1
- TCP IP Sockets in C
- 《TCP/IP Sockets 编程》笔记2
- 《TCP/IP Sockets 编程》笔记3
- 《TCP/IP Sockets 编程》笔记4
- 《TCP/IP Sockets 编程》笔记5
- 使用 TCP / IP 套接字(Sockets)
- Programming TCP/IP Windows Sockets in C++
- matlab使用TCP/IP Server Sockets
- 求助:[TCP/IP Sockets]一般性网络错误 的解决方法
- TCP/IP Sockets in C#: Practical Guide for Programmers
- 经典基础教程---Programming TCP/IP Windows Sockets in C++
- VBdotnet2005 TCP IP System.Net.Sockets应用实例
- Symbain开发之网络TCP/IP Sockets连接
- TCP/IP Sockets in C#: Practical Guide for Programmers
- Non-Blocking Sockets in TCP/IP (The Client)
- tcp/ip ---------- tcp(1)
- Java(Android)线程池
- Java源码解析(2) —— Class(1)
- Spark的三种分布式部署方式
- tessract-ocr文本识别系统网页搭建php_进一步完善及操作流程详解
- [JZOJ4787] 数格子
- TCP/IP Sockets-1
- 【JZOJ 4783】 Osu
- Codevs 1215 迷宫(DFS)
- 雏菊与雨c
- HTTP协议
- 求小于n的素数个数(模板)
- per.ccz与png互转
- Leetcode 403. Frog Jump 青蛙过河 解题报告
- 项目难点