目录
最近在学习一些Linux网络编程,这里整理一下TCP相关内容
TCP连接建立
建立连接需要三次握手,对应的socket编程如下(忽略了异常处理):
服务器端
#include <sys/socket.h>
#include <arpa/inet.h>
// 1.创建套接字
int serverSockfd = socket(AF_INET,
SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC,
IPPROTO_TCP);
// 2.绑定端口
const char* ip = "127.0.0.1";
struct sockaddr_in addr;
addr.sin_family = AF_INET; // ipv4
inet_pton(AF_INET, ip, &addr.sin_addr) // 将字符串ip转为网络序ip
// 字节序转为网络序,一般x86-64机器是小端存储,网络序是大端存储的
addr.sin_port = htons(1234);
bind(sockfd, (struct