七层协议
① ip协议
②TCP协议
TCP协议面向连接的,可靠的协议,有三次握手来保证可靠性
③ udp协议
不一定可以保证数据发过去,像发短信一样,对方不一定在线,号码也不一定对
TCP,UDP之间存在一些区别:
端口号是什么?
在python中如何实现网络通信程序的编写?
用socket类:用来描述IP地址和端口号
TCP编程
包括
- ①TCP服务器端编程
- ②客户端编程
启动时先启动服务器端,开始等待监听,再启动客户端,需要注意在python文件创建时候两个文件需要写在不同的项目里
①TCP服务器端编程(接受数据)
服务器套接字(Server Socket) 是计算机网络编程中的一个重要概念,它是用于网络通信的一种抽象数据结构,主要用于在服务器端监听和接受来自客户端的连接请求。
服务器套接字的工作机制通常涉及以下几个步骤:
- 创建套接字:服务器程序首先创建一个套接字对象,并指定其类型(如TCP或UDP)和协议族(如IPv4或IPv6)。
- 绑定地址和端口:将套接字绑定到服务器的IP地址和端口号上,以便监听来自该地址和端口的连接请求。
- 监听连接:调用监听函数(如listen()),使套接字进入监听状态,等待客户端的连接请求。
- 接受连接:当接收到客户端的连接请求时,服务器套接字通过接受函数(如accept())接受连接,并创建一个新的套接字来与客户端进行通信。
- 数据交换:通过新创建的连接套接字,服务器与客户端进行数据的发送和接收。
例如:在Python中,使用socket库可以很方便地编写服务器端代码。以下是一个简单的TCP服务器示例,该服务器监听来自客户端的连接,接收客户端发送的消息,并将接收到的消息回发给客户端。
#首先,你需要导入Python的socket库
import socket
def start_server(host='127.0.0.1', port=8888):
#使用socket.socket()函数创建一个socket对象。
#对于TCP连接,通常使用AF_INET(IPv4)和SOCK_STREAM(流式socket,即TCP)。
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)