tcp/ip
1.网络编程中服务端接受请求套接字创建过程。
- 调用socket函数创建套接字。
- 调用bind函数分配IP地址和端口号。
- 调用listen函数转为可接受请求状态。
- 调用accept函数受理连接请求。
2.客户端套接字创建过程。
1.调用socket函数创建套接字。
2.调用connect函数想服务器端发送连接请求。
3.套接字类型与协议设置
1.协议(Protocol):计算机间对话必备通信规则。
2.创建套接字
int socket(int domain, int type, int protocol);
// domain: 套接字中的协议族信息 type:数据传输类型 protocol:计算机通信使用的协议信息
// 协议族{PF_INET=>IPV4, PfINET6=>IPV6, PF_LOCAL=>local unix 协议族, PF_PACKET=>底层套接字协议族,PF_IPX=>IPX NOVELL协议族}
// 套接字类型(socket第二个参数){面向连接的套接字=>SOCK_STREAM(write,read),面向消息的套接字=>SOCK_DGRAM }
// 如果同意协议族中存在多个传输数据方式相同的协议,则需要传第三个参数。(IPPROTO_TCP/IPPROTO_UDP)
4.地址族与数据序列
- ip // Internet Protocol (网络协议)
- 端口 // 为区分程序中创建的套接字而分配给套接字的序号,可分配(0-65535), 0-1023为知名端口,不建议分配。
- 网络地址 // 1 ipv4 2 ipv6 它俩差别就是表示ip地址所用的字节数
5.网络字节序与地址变换
- big endian :大端序(高位字节存放到低位地址)
- little endian:小端序 (高位字节存放到高位地址)
- // 使用相应字节序转换函数即可解决大小端问题。
6.基于tcp的服务器端/客户端函数调用关系