python c/s开发

这只是一个简单的c/s架构,理想化得获取客户端输入的指令,并且将输出打印到客户端界面,大家可以试着玩一下。嘿嘿。

server.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import SocketServer
import os
import threading


class MyHandle(SocketServer.StreamRequestHandler):
    def handle(self):
        self.data = self.rfile.readline().strip()
        print "%s wrote:" % self.client_address[0]
        print self.data
        self.datas=os.popen(self.data).read()
        self.wfile.write(self.datas)

if __name__=='__main__':
    addr=""
    port=9999
    server = SocketServer.ThreadingTCPServer((addr, port), MyHandle)
    server_thread = threading.Thread(target=server.serve_forever)
    server_thread.setDaemon(True)
    server_thread.start()
    server.serve_forever()
    server.shutdown()

client.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from socket import *

HOST='server ip'
PORT=9999
BUFSIZ = 2048
ADDR = (HOST, PORT)

while True:
    tcpCliSock = socket(AF_INET, SOCK_STREAM)
    tcpCliSock.connect(ADDR)
    data = raw_input('> ')
    if not data:
        break
    tcpCliSock.send('%s\r\n' % data)
    data = tcpCliSock.recv(BUFSIZ)
    if not data:
        break
    print data.strip()
    tcpCliSock.close()



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/368906,如需转载请自行联系原作者

上一篇:Reverse反转算法+斐波那契数列递归+Reverse反转单链表算法--C++实现


下一篇:Unity使用心得 之 ✨ Unity同一工程打包出多个安卓apk,不相互覆盖按照安装说明