套接字(socket)
套接字(socket)
是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
一种独立于协议的网络编程接口
传输层实现端到端的通信,因此,每一个传输层连接有两个端点。那么,传输层连接的端点是什么呢?不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口。传输层连接的端点叫做套接字(socket)。根据RFC793的定义:端口号拼接到IP地址就构成了套接字。所谓套接字,实际上是一个通信端点,**每个套接字都有一个套接字序号,包括主机的IP地址与一个16位的主机端口号,即形如(主机IP地址:端口号)。例如,如果IP地址是210.37.145.1,而端口号是23,那么得到套接字就是(210.37.145.1:23)。 总之,套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。**每一个传输层连接唯一地被通信两端的两个端点(即两个套接字)所确定。 套接字可以看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。通信时,其中的一个网络应用程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过网络接口卡的传输介质将这段信息发送给另一台主机的Socket中,使这段信息能传送到其他程序中。因此,两个应用程序之间的数据传输要通过套接字来完成。 在网络应用程序设计时,由于TCP/IP的核心内容被封装在操作系统中,如果应用程序要使用TCP/IP,可以通过系统提供的TCP/IP的编程接口来实现。在Windows环境下,网络应用程序编程接口称作Windows Socket。为了支持用户开发面向应用的通信程序,大部分系统都提供了一组基于TCP或者UDP的应用程序编程接口(API),该接口通常以一组函数的形式出现,也称为套接字(Socket)。
函数
- 点赞
- 收藏
- 分享
- 文章举报
- 我所不知道的TCP Socket编程(五)-交换数据、套接字读写操作
- C#2.0 Socket套接字编程之实例初探
- 使用TCP/IP的套接字(Socket)进行通信
- socket connect error :0x00002747,由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
- 进程笔记2:进程之间的通信(UNIX域套接字socket)
- 什么是套接字(Socket)?套接字(Socket)是什么意思?(转载)
- socket编程(2)套接字选项
- Socket编程实践(9) --套接字IO超时设置方法
- socket的tcp连接中的监听套接字和已连接套接字
- ServerSocket套接字实现服务器端和Socket套接字实现客户端
- 网络---中断套接字Socket
- Java网络编程从入门到精通(19):套接字(Socket)的异常
- WCF分布式开发常见错误(10):套接字连接中断,The socket connection was aborted
- Raw_Socket原始套接字
- 详谈:socket套接字
- 【HTTP】TCP连接与套接字编程(socket)理论基础
- socket套接字编程
- SOCKET套接字(二) 三次握手-四次挥手
- Ajax程序模拟SOCKET套接字编程
- iOS套接字简析 --> Socket