客户端


from socket import *
from threading import Thread
# 创建套接字
tcp_client = socket(AF_INET, SOCK_STREAM)

# 链接服务器
connect_address = ('192.168.28.44', 8888)

tcp_client.connect(connect_address)

class Send(Thread):
	def __init__(self,tcp_client):
		super().__init__()
		self.tcp_client = tcp_client

	def run(self):
		self.send_data()
	def send_data(self):
		while True:
			# 发送数据到服务器
			self.content = input('请输入内容:')

			self.tcp_client.send(self.content.encode('gb2312'))

class Recv(Thread):
	def __init__(self,tcp_client):
		super().__init__()
		self.tcp_client = tcp_client

	def run(self):
		self.recv_data()

	def recv_data(self):
		while True:
			# 接收来自服务器的数据
			recv_content = self.tcp_client.recv(1024)
			if len(recv_content) == 0:
				break
			print(recv_content.decode('gb2312'))

class Main(object):
	Send(tcp_client).start()
	Recv(tcp_client).start()



服务端


from socket import *
from threading import Thread

# 创建套接字
tcp_socket = socket(AF_INET,SOCK_STREAM)
# 绑定端口
tcp_socket.bind(('192.168.28.44',8888))

# 设置监听模式
tcp_socket.listen(3)
tcp_socket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)

# 接收数据
class Recv(Thread):
	def __init__(self,new_tcp_socket,new_tcp_address):
		super().__init__()
		self.new_tcp_socket = new_tcp_socket
		self.new_tcp_address = new_tcp_address

	def run(self):
		self.recv_data()
	def recv_data(self):
		while True:
			recv_data = self.new_tcp_socket.recv(1024)
			print('%s:%s' % (str(self.new_tcp_address), recv_data.decode('gb2312')))

# 发送数据
class Send(Thread):
	def __init__(self,new_tcp_socket):
		super().__init__()
		self.new_tcp_socket = new_tcp_socket

	def run(self):
		self.send_data()

	def send_data(self):
		while True:

			send_content = input('请输入内容:')
			send_content = '1:12312312312:meinv:mm-pc:32:%s'%send_content
			self.new_tcp_socket.send(send_content.encode('gb2312'))
class Main(object):
	while True:
		# 创建新的套接字和地址
		new_tcp_socket, new_tcp_address = tcp_socket.accept()


		Recv(new_tcp_socket,new_tcp_address).start()
		Send(new_tcp_socket).start()



打赏

发表评论

邮箱地址不会被公开。 必填项已用*标注