套接字是什么?

套接字是什么?
2024-11-22 08:32:42
推荐回答(5个)
回答(1):

套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

总之,套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点(即两个套接字)所确定。

扩展资料

Socket最初是加利福尼亚大学Berkeley分校为Unix系统开发的网络通信接口。后来随着TCP/IP网络的发展,Socket成为最为通用的应用程序接口,也是在Internet上进行应用开发最为通用的API。

Windows系统流行起来之后,由Microsoft联合了其他几家公司在Berkeley Sockets的基础之上进行了扩充,共同制定了一套Windows下的网络编程接口,即Windows Sockets规范。

Windows Sockets规范是一套开放的、支持多种协议的Windows下的网络编程接口,包括1.1版和2.0版两个版本。

参考资料来源:百度百科-套接字

回答(2):

套接字是源IP地址和目的IP地址以及源端口号和目的端口号的组合,一般用于标识客户端请求的服务器和服务,是支持TCP/IP的网络通信的基本操作单元。

常用的TCP/IP协议的3种套接字类型如下所示。
流套接字(SOCK_STREAM):
流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。
数据包套接字(SOCK_DGRAM):
数据包套接字提供了一种无连接的服务。该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复,且无法保证顺序地接收到数据。数据包套接字使用UDP(User Datagram Protocol)协议进行数据的传输。由于数据包套接字不能保证数据传输的可靠性,对于有可能出现的数据丢失情况,需要在程序中做相应的处理。
原始套接字(SOCK_RAW):
原始套接字(SOCKET_RAW)允许对较低层次的协议直接访问,比如IP、 ICMP协议,它常用于检验新的协议实现,或者访问现有服务中配置的新设备,因为RAW SOCKET可以自如地控制Windows下的多种协议,能够对网络底层的传输机制进行控制,所以可以应用原始套接字来操纵网络层和传输层应用。比如,我们可以通过RAW SOCKET来接收发向本机的ICMP、IGMP协议包,或者接收TCP/IP栈不能够处理的IP包,也可以用来发送一些自定包头或自定协议的IP包。网络监听技术很大程度上依赖于SOCKET_RAW

回答(3):

源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。
  套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。
  非常非常简单的举例说明下:Socket=Ip
address+
TCP/UDP
+
port。

回答(4):

通俗一点套接字就是口令,每个应用程序都有自己的口令,通信的目的地IP地址,使用的传输层协议(TCP或UDP)和使用的端口号是口令的内容。

回答(5):

简单点跟你说就是把要访问的机器的ip,哪种传输协议(tcp还是udp),以及端口写清楚。一般会问这个问题的人应该是搞不清楚为什么要有这么个东西这个概念。这个东西的重点在于“端口上”,机器要找机器有ip就够了,但是机器上不只一个程序,所以要写清楚端口,才能找到指定的程序!!!