个人主页:mooridy
专栏地址:《计算机网络:自顶向下方法》 大纲式阅读笔记_mooridy的博客-CSDN博客本博客内容为《计算机网络:自顶向下方法》第二章应用层第七节知识梳理
关注我,和我一起学习更多计算机的知识~
目录
套接字编程:生成网络应用
基本概念
套接字(Socket)
工作原理
UDP 套接字编程
UDP(用户数据报协议)特点
流程
服务器端流程
客户端流程
TCP 套接字编程
TCP 特点
流程
服务器端流程
客户端流程
就像是不同计算机之间进行通信的 “端点”。每个套接字都有一个对应的 IP 地址和端口号,IP 地址用于标识网络中的计算机,而端口号则用于标识计算机上的特定应用程序。通过 IP 地址和端口号,数据可以准确地从一个套接字传输到另一个套接字。
socket(AF_INET, SOCK_DGRAM)
创建一个 UDP 套接字,AF_INET
表明采用 IPv4 地址族,SOCK_DGRAM
表示这是数据报套接字 。同时指定一个端口号 x
,用于监听客户端发来的数据报。serverSocket
等待接收来自客户端的数据报。UDP 数据报是独立的消息单元,服务器从该套接字接收这些单元。serverSocket
发送出去。socket(AF_INET, SOCK_DGRAM)
创建 UDP 套接字,客户端套接字用于与服务器通信。x
的数据报,然后通过 clientSocket
将数据报发送给服务器。在发送数据报时,客户端不需要与服务器提前建立连接。clientSocket
接收服务器发回的回复数据报。clientSocket
,释放相关资源。socket()
创建一个 TCP 套接字,并绑定到特定端口号 x
,这个套接字用于监听客户端的连接请求,就像在门口站岗,等待有人敲门。serverSocket.accept()
方法,服务器进入阻塞状态,一直等待客户端的连接请求。一旦有客户端请求连接,就会创建一个新的套接字 connectionSocket
,专门用于和这个客户端进行通信。这就好比门卫接待访客后,给访客安排一个单独的房间进行交流。connectionSocket
读取客户端发送过来的请求信息,然后根据请求进行处理,并向 connectionSocket
写入回复信息发送给客户端。connectionSocket
,释放相关资源。不过要注意,serverSocket
一般不会关闭,而是继续监听新的客户端连接请求。socket()
创建一个 TCP 套接字,然后通过这个套接字向服务器的指定主机 ID 和端口号 x
发起连接请求,尝试与服务器建立连接。clientSocket
向服务器发送请求信息,然后等待并从 clientSocket
读取服务器返回的回复信息。clientSocket
,释放占用的资源。编辑
分享
用Python语言编写一个简单的UDP套接字通信程序
详细解释一下在网络编程中IP地址和端口号是如何协同工作的
套接字编程和其他网络编程模型相比有哪些优势和劣势