python 网络编程
-
首先导入socket模块
import socket
-
建立服务端
-
先使用socket建立一个服务器,
udp和tcp区别在于socket.SOCK_DGRAM和socket.SOCK_STREAM
udp:
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
tcp:
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-
设置服务器地址
s_addr = ("localhost", 4567)
第一个参数代表要设置为服务器的主机ip,localhost代表本机ip
第二个参数代表端口号,一般不选择0-1023 -
将地址与创建的服务端连接起来
server.bind(s_addr)
tcp中还需要设置监听数:
server.listen(6)
- 建立客户端
udp:
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
与建立服务端相同,由于发送消息时需要传入客户端地址,因此建立时不用传地址
tcp:
-
接收信息
udp:
msg, c_addr = server.recvfrom(1024)
返回客户端发送的信息和客户端地址
tcp:
client, c_addr = server.accept()
获取客户端对象和客户端地址
msg = client.recv(1024)
用客户端对象获取该客户端发送的消息 -
发送消息
udp:
server.sendto(msg, c_addr)
tcp:
client.send(msg)
注意sendto和send的区别