Posted Updated 3 minutes read (About 442 words)
Python 实现 socket 通讯 (TCP/UDP)
1. TCP
1.1 TCP-Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
address = ('127.0.0.1', 10140) s.bind(address)
s.listen(5)
ss, addr = s.accept() print 'got connect from', addr
while True: ra = ss.recv(512) print 'client:', ra ss.send('received')
ss.close() s.close()
|
2.2 TCP-Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
import socket
address = ('127.0.0.1', 10140) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(address)
while True: message = raw_input() if not message: break s.send(message) data = s.recv(512) print 'server:', data
s.close()
|
2. UDP
2.1 UDP-Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
import socket
address = ('127.0.0.1', 10141) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind(address)
while True: data, addr = s.recvfrom(2048) print "received:", data, "from", addr
s.close()
|
2.2 UDP-Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
import socket address = ('127.0.0.1', 10141) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: message = raw_input() if not message: break s.sendto(message, address) s.close()
|