#!/usr/bin/env python
#coding:utf-8
'''
file:server.py
date:9/8/17 3:43 PM
author:lockey
email:lockey@123.com
desc:socket编程服务器端,python3.6.2
'''
import re
import socket,time,os
s = socket.socket() # 创建 socket 对象
host = '127.0.0.1'#socket.gethostname() # 获取本地主机名
port = 9999 # 设置端口
s.bind((host, port)) # 绑定端口
s.listen(5) # 等待客户端连接
while True:
conn, addr = s.accept() # 建立客户端连接。
print('conneted address:'.decode('utf-8'), addr)#显示连接到服务器的客户端的地址
while True:
data = conn.recv(1024)
#接收到的客户端的请求或者返回
if not data:
#当返回信息为空或者请求为空时断开客户端连接
print('Connection closed!')
break;
data = data.decode('utf-8')
#以下前三个条件都是设置的自动检测应答,最后一个是根据输入的内容进行的命令执行,并将结果返回给客户端
if re.findall(r'who',data):
reply = 'I am lockey'.encode('utf-8')
elif re.findall(r'gender',data):
reply = 'A boy'.encode('utf-8')
elif re.findall(r'age',data):
reply = '23'.encode('utf-8')
else:
print('execute com:',data)
cmd_res = os.popen(data).read()
if not cmd_res:
#对于命令的执行如果没有返回值的话就给客户端发送一条信息
conn.send('No response'.encode('utf-8'))
continue
reply = cmd_res.encode('utf-8')
conn.send(reply)
#将结果发送给客户端
#!/usr/bin/env python
#coding:utf-8
'''
file:client.py
date:9/8/17 3:43 PM
author:lockey
email:lockey@123.com
desc:socket编程客户端,python3.6.2
'''
import socket,time # 导入 socket 模块
s = socket.socket() # 创建 socket 对象
host = '127.0.0.1'#socket.gethostname() # 获取本地主机名
port = 9999 # 设置端口好
s.connect((host, port))
while True:
cmd = input("lockey#")
#用户输入
if len(cmd) == 0:continue
#如果用户未输入内容则继续下一次输入
s.send(cmd.encode('utf-8'))
#将用户输入的内容发送给客户端等待结果
result = s.recv(1024)
if not result:
#如果服务端没有返回结果则继续下一次输入
continue
print(result.decode('utf-8'))
#如果服务端有返回则打印结果
s.close()
#用户终止程序时关闭连接
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有