tcp连接的端点即称为:socket
套接字socket = (IP地址:端口号)每一条tcp连接唯一得被通信两端的两个端点确定(两个socket)
TCP连接 ::= {socket ,socket} = {IP1:port1} {IP2:port2}
IP地址:即为主机的IP地址
端口号:端点主机中的端口号
在网络体系中,自应用层以下,运输层由操作系统实现,同时内核中提供操作网络通信的网卡程序,也就是说在系统已经为我们实现好了,我们只需调用系统提供给我们的socket API 即可编写客户端与服务端程序(在不同的系统中,网络实现存在着一定的区别)
//将Windows下 socket API 包含
#include <windows.h>
#include <WinSock2.h>
//类Unix
#include <unistd.h>
#include <arpa/inet.h>
socket API 内含socket函数
属性:
(1. 域 如:AF_INET
(2. 类型 如: SOCK_STREAM
(3. 协议 如:socket 函数端点称为socket
调用socket函数,返回值称为socket描述符:(小整形描述符,sockfd)
使用图示:
int sockfd;
sockfd = socket(AF_INET,SOCK_STREAM,0); // socket 函数创建网际网字节流套接字
//参数:
//通信目的IP地址 使用传输层协议 使用的端口号