在Debian上使用Python进行网络编程可以借助内置的socket
模块。以下是一些基本的网络编程技巧:
创建Socket:
使用socket.socket(socket.AF_INET, socket.SOCK_STREAM)
创建一个IPv4的TCP Socket。
连接到服务器:
使用s.connect(('192.168.1.100', 12345))
连接到指定的IP地址和端口号。
发送和接收数据:
s.send(b'Hello, Server!')
data = s.recv(1024)
,并使用data.decode()
将字节转换为字符串。关闭连接:
使用s.close()
关闭Socket连接,释放资源。
创建简单服务器:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 12345))
s.listen(5)
print('等待连接...')
conn, addr = s.accept()
print('客户端连接:', addr)
while True:
data = conn.recv(1024)
if not data:
break
print('收到消息:', data.decode())
conn.send(b'Got your message!')
conn.close()
s.close()
这段代码创建了一个简单的服务器,能够接收客户端连接并回复消息。
多线程处理多个客户端: 为了处理多个客户端连接,可以使用多线程:
import socket
import threading
def handle_client(conn, addr):
print('客户端连接:', addr)
while True:
data = conn.recv(1024)
if not data:
break
print('收到消息:', data.decode())
conn.send(b'Got your message!')
conn.close()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 12345))
s.listen(5)
print('等待连接...')
while True:
conn, addr = s.accept()
t = threading.Thread(target=handle_client, args=(conn, addr))
t.start()
希望这些技巧能帮助你更好地进行Python网络编程。