Python网络编程自学:如何使用Socket

应用程序通常通过Socket向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

文件:server.py

import socket

# HOST是电脑的IP地址,你可以在CMD中通过ipconfig指令找到。
HOST = '192.168.0.206'
PORT = 9090

# AF_INET让两台主机透过网络进行资料传输,使用IPv4协定。
# SOCK_STREAM表明对应的protocol为TCP。
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定到地址
server.bind((HOST, PORT))

# 监听TCP传入连接,5表示操作系统可以挂起的最大连接数为5.
server.listen(5)

while True:
	# 等待连线,接受TCP连线。
	# communication_socket可以用来接收和发送资料。
    communication_socket, address = server.accept()
    print(f"Connected to {address}")
    
    message = communication_socket.recv(1024).decode('utf-8')
    print(f"Message from client is: {message}")
    
    communication_socket.send(f"Got your message! Thank you!".encode('utf-8'))
    communication_socket.close()
    print(f"Connection with {address} ended!")

文件:client.py

import socket

HOST = '192.168.0.206'
PORT = 9090

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect((HOST, PORT))

socket.send("Hello World!".encode('utf-8'))
print(socket.recv(1024).decode('utf-8'))

同时执行server.py和client.py。
输出分别为:
Connected to (‘192.168.0.206’, 59040)
Message from client is: Hello World!
Connection with (‘192.168.0.206’, 59040) ended!

和:
Got your message! Thank you!

你可能感兴趣的:(Python,网络编程,网络,python,服务器)