python -- 多线程SocketServer2
来源:互联网 发布:淘宝 未上架 抢购技巧 编辑:程序博客网 时间:2024/06/05 20:00
服务器端代码:
root@kali:~/python/socket/ftp# pwd/root/python/socket/ftproot@kali:~/python/socket/ftp# lssocket_server_ftp1.py tab.py tab.pycroot@kali:~/python/socket/ftp# cat socket_server_ftp1.py #!/usr/bin/python# --*-- coding:utf-8 --*--import tabimport osimport SocketServerclass myTCPHandler(SocketServer.BaseRequestHandler):#定义类,继承SocketServer.BaseRequestHandler父类 def handle(self): print 'got connection from :', self.client_address while 1: self.data = self.request.recv(4096) print self.data if not self.data:break#不存在的命令就结束 print 'will run this on server:', self.data cmd = "%s 2>/dev/null" % self.data result = os.popen(cmd).read()#用户输入数据,并读取数据,赋值给result值 if not result: result = 'Error' self.request.sendall(result)host,port = '',8888try: server = SocketServer.ThreadingTCPServer((host,port),myTCPHandler) server.serve_forever()except KeyboardInterrupt: server.shutdown()root@kali:~/python/socket/ftp#
客户端代码:
root@kali:~/python/socket/ftp# root@kali:~/python/socket/ftp# pwd/root/python/socket/ftproot@kali:~/python/socket/ftp# lssocket_clent_ftp1.py tab.py tab.pycroot@kali:~/python/socket/ftp# cat socket_clent_ftp1.py #!/usr/bin/env python# --*-- coding:utf-8 --*--import tabimport socket#客户端Ip地址192.168.72.130h = '192.168.72.129'p = 8888 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect((h,p))while 1: INPUT = raw_input("Input:") s.send(INPUT) received_data = s.recv(8096) print "Received from server:", received_datas.close()root@kali:~/python/socket/ftp#
运行情况
服务器端:
root@kali:~/python/socket/ftp# python socket_server_ftp1.pygot connection from : ('192.168.72.130', 52921)lswill run this on server: lsls -awill run this on server: ls -apwdwill run this on server: pwdgot connection from : ('192.168.72.130', 52948)ls -awill run this on server: ls -a#结束相关进程信息root@kali:~/python/socket/ftp# lsof -i :8888COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEpython 15807 root 3u IPv4 135924 0t0 TCP *:8888 (LISTEN)python 15807 root 4u IPv4 135948 0t0 TCP 192.168.72.129:8888->192.168.72.130:52921 (ESTABLISHED)python 15807 root 5u IPv4 139022 0t0 TCP 192.168.72.129:8888->192.168.72.130:52948 (ESTABLISHED)root@kali:~/python/socket/ftp# kill -9 15807root@kali:~/python/socket/ftp# kill -9 15807-bash: kill: (15807) - No such process[2]+ Killed python socket_server_ftp1.pyroot@kali:~/python/socket/ftp#
客户端1:
root@kali:~/python/socket/ftp# vi socket_clent_ftp1.pyroot@kali:~/python/socket/ftp# python socket_clent_ftp1.pyInput:lsReceived from server: socket_server_ftp1.pytab.pytab.pycInput:ls -aReceived from server: ...socket_server_ftp1.pytab.pytab.pycInput:pwdReceived from server: /root/python/socket/ftpInput:#结束相关进程信息root@kali:~/python/socket/ftp# lsof -i :8888COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEpython 15373 root 3u IPv4 134162 0t0 TCP 192.168.72.130:52921->192.168.72.129:8888 (CLOSE_WAIT)python 16933 root 3u IPv4 137536 0t0 TCP 192.168.72.130:52948->192.168.72.129:8888 (CLOSE_WAIT)root@kali:~/python/socket/ftp# kill -9 15373root@kali:~/python/socket/ftp# kill -9 16933[2]+ Killed python socket_clent_ftp1.pyroot@kali:~/python/socket/ftp#
客户端2:
root@kali:~/python/socket/ftp# python socket_clent_ftp1.py Input:ls -aReceived from server: ...socket_server_ftp1.pytab.pytab.pycInput:#结束相关进程信息root@kali:~/python/socket/ftp# lsof -i :8888[3]+ Killed python socket_clent_ftp1.pyroot@kali:~/python/socket/ftp#
阅读全文
0 0
- python -- 多线程SocketServer2
- Python多线程
- Python多线程
- Python多线程
- python多线程
- python 多线程
- python多线程
- python多线程
- python 多线程
- python多线程
- Python多线程
- Python 多线程
- python多线程
- python 多线程
- {python多线程}
- Python 多线程
- Python多线程
- python 多线程
- scikit-learn/k-means算法简单应用
- 一颗简单的JDBC栗子
- linux安装mysql数据库
- String使用equals和==比较的区别
- LINUX桌面模式和文本模式切换
- python -- 多线程SocketServer2
- 在Pycharm和Intellij中使用github
- JAVA 使用继承复用代码的陷阱与补救措施
- 使用DButils对数据库进行操作
- tensorflow学习笔记(3)——基础(三)——TF训练和变量
- JFinal 表单提交文件上传时获取不到值
- Ubuntu 创建开机自启动脚本
- Android studio 一键国际化翻译插件, 适用于在Google play开发app的小伙伴
- A. Office Keys