Python Socket编程之TCP服务

socket_server_tcp.py 

import socket
import random


#创建实例
sk = socket.socket()
#定义IP和端口
ip_port = ("127.0.0.1", 8888)
#绑定监听
sk.bind(ip_port)
# 设置最大链接数
sk.listen(5)
# 轮询,不断的接收数据
while True:
	# 提示信息
	print("正在等待接收数据。。。。。")
	# 接收数据
	conn, address = sk.accept()
	# 定义信息
	msg = "链接成功!"
	#返回信息 py3.x以上,网络数据的发送接收都是byte类型
	#str则需要编码
	conn.send(msg.encode())
	# 不断接收客户端发送的信息
	while True:
		# 每次读取缓冲区1024字节的数据
		data = conn.recv(1024)
		# 打印数据,处理数据逻辑
		print(data.decode())
		# 接收到推出的指令
		if data == b'exit':
			break
		# 处理客户端数据
		conn.send(data)
		# 发送随机数
		conn.send(str(random.randint(1, 1000)).encode())
		pass
	# 主动关闭链接
	conn.close()
	pass

socket_client_tcp.py

import socket


# 实例初始化
client = socket.socket()
# 访问的服务器端口和ip
ip_port = ("127.0.0.1", 8888)
# 链接服务器
client.connect(ip_port)

while True:
	# 接收主机信息
	data = client.recv(1024)
	# 打印接收的数据,此处的byte数据特指py3.x以上
	print(data.decode())
	# 输入发送的消息
	msg_input = input("请输入发送的消息:")
	# 消息发送
	client.send(msg_input.encode())
	if msg_input == "exit":
		break
		pass
	data = client.recv(1024)
	print(data.decode())
	pass

猜你喜欢

转载自blog.csdn.net/mortal5/article/details/81393068