📜  门| Sudo GATE 2021的测验|第34章(1)

📅  最后修改于: 2023-12-03 15:42:20.508000             🧑  作者: Mango

门 | Sudo GATE 2021的测验|第34章

本次测验将涉及《计算机网络》相关的门的知识,包括但不限于TCP、UDP、HTTP、FTP等。

TCP

TCP(传输控制协议)是一种可靠的传输协议,主要用于连接型数据传输。TCP是面向连接的协议,通过三次握手建立连接,四次挥手释放连接。

import socket

HOST = '127.0.0.1'
PORT = 8080

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(b'Hello, world')
data = s.recv(1024)
s.close()

print('Received', repr(data))
UDP

UDP(用户数据报协议)是一种不可靠的传输协议,主要用于无连接型数据传输。UDP不保证数据的可靠传输,但可以提高数据传输的效率。

import socket

HOST = '127.0.0.1'
PORT = 8080

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(b'Hello, world', (HOST, PORT))

data, addr = s.recvfrom(1024)
print('Received', repr(data))
s.close()
HTTP

HTTP(超文本传输协议)是一种基于TCP协议的应用层协议,主要用于万维网上的数据传输。HTTP是无状态的协议,每个请求都是独立的,服务器不会保存客户端的状态信息。

import http.client

conn = http.client.HTTPSConnection("www.python.org")
conn.request("GET", "/")
r1 = conn.getresponse()
print(r1.status, r1.reason)
data1 = r1.read()
print(data1)
conn.close()
FTP

FTP(文件传输协议)是一种基于TCP协议的文件传输协议,主要用于文件传输。FTP可以基于三种模式进行数据传输:主动模式、被动模式和扩展被动模式。

import ftplib

ftp = ftplib.FTP("ftp.example.com")
ftp.login("username", "password")
ftp.cwd("/")
ftp.retrlines('LIST')
ftp.quit()

以上是本次测验的部分知识点,希望大家认真学习,加强自己的计算机网络知识。