python网络通信概述通信工程学python
更新时间:2023-10-23网络通信概述
网络通信是计算机技术中不可或缺的一部分,在现代计算机的发展中扮演了不可替代的角色。网络协议是实现网络通信的基础,各种协议规范也不断地在发展与完善。而在现今大量使用web技术的应用中,更是需要了解常用的HTTP协议的特点,同时了解TCP/IP协议栈的相关知识也是必要的。
import socket
def server():
HOST = '127.0.0.1'
PORT = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
socket编程
在网络通信中,socket编程是非常常见的一种方式。socket指的是“套接字”,它是实现通信的一个端点。在Python中,使用socket库能够方便的创建和使用套接字来实现基本的网络通信,包括网络客户端和服务器。
import socket
def client():
HOST = '127.0.0.1'
PORT = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, world')
data = s.recv(1024)
print('Received', repr(data))
HTTP协议
HTTP是应用层协议,它是处理网络上的超文本传输的协议。现在我们使用的大部分的WEB应用都是基于HTTP协议的。实现一个HTTP客户端或者服务器,需要了解HTTP协议的基本规范与处理流程。在Python中,我们可以使用Requests库来快速的实现HTTP协议的功能。
import requests
r = requests.get('https://www.baidu.com')
print(r.status_code)
print(r.text)
TCP/IP
TCP/IP协议是计算机网络中最重要的协议之一,它是一整套网络协议族,提供了可靠的、有序的、点对点的数据流。在Python中,使用socket库实现TCP协议的通信是很常见的。
import socket
def client():
HOST = '127.0.0.1'
PORT = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, world')
data = s.recv(1024)
print('Received', repr(data))