标题:python网络编程 | 作者: catfish | 时间:2020年01月05日
暂无法显示图片

TCP协议

服务端

import socket

sk = socket.socket()
sk.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  # 防止端口占用
sk.bind(('localhost',8080))
sk.listen()
while 1:
	conn,addr = sk.accept()
	while 1:
		ret = conn.recv(1024)   # 最多接1024个字节
		print(ret)
		conn.send(b'hello')  # 必须传一个bytes类型
	conn.close()
sk.close()

客户端

import socket

sk = socket.socket()
sk.connect(('127.0.0.1',8080))  # 拨别人的号
while True:
    info = input(">>> ")
    sk.send(info.encode())
    ret = sk.recv(1024)
sk.close()

UDP协议

服务端

import socket

sk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('127.0.0.1', 8080))
while True:
	msg, addr = sk.recvfrom(1024)
	print(msg.decode())
	sk.sendto(b'bye', addr)
sk.close()

客户端

import socket

sk = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1', 8080)
while True:
	info = input(">>> ")
	sk.sendto(info.encode(), ip_port)
	ret,addr = sk.recvfrom(1024)
	print(ret.decode())
sk.close()

 

我要评论

没有登录?请先登录后再评论

最新评论

暂无人评论,来抢个沙发吧!