Python之Socket网络编程基础

初始Socket网络编程

导入socket模块

import socket

创建服务器端

sk = socket.socket()			创建服务器实例
ip_port = ("127.0.0.1", 8888)	设置本机地址及端口
sk.bind(ip_port)				绑定主机
sk.listen(5)					设置监听数,至少为1
print("正在接受客户端连接")
while True:
	conn, address = sk.accpet()		接受客户端连接
	print("接收成功")
	msg = "连接成功"
	sk.send(msg.encode())
	while True:
		data = sk.recv(1024)		接受客户端消息
		print(data.decode())		打印数据信息
		if data == b'exit':			假如受到exit数据则退出
			break
	conn.close()				关闭连接

创建客户端

client = socket.socket()		创建客户端实例
ip_port = ("127.0.0.1", 8888)	设置服务器地址及端口
client.connect(ip_port)			连接服务器
data_recv = client.recv(1024)		接受服务器端发送的数据
print(data_recv.decode())			打印数据信息
while True:
	send_data = input("请输入要发送给服务器端的消息:")
	client.send(send_data.encode())
	if send_data == b'exit':
		break

导入socket非阻塞模块

import socketserver

创建socket非阻塞服务器端

class MyServer(socketserver.BaseRequestHandler):
	def setup(self):
		pass
	def handle:
		conn = self.request		定义连接变量
		msg = "连接成功"
		conn.send(msg.encode())
		while True:
			data = sk.recv(1024)		接受客户端消息
			print(data.decode())		打印数据信息
			if data == b'exit':			假如受到exit数据则退出
				break
		conn.close()				关闭连接
	def finish(self):
		pass

if __name__ == '__main__':
	创建多线程实例:
	server = socketserver.ThreadingTCPServer(("127.0.0.1", 8888),MyServer)
	开启异步多线程,等待连接:
	server.serve_forever()

BTW

通过这些基础的网络搭建,还可以使用open进行文件的上传。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值