Python之socket编程代码实例
程序员文章站
2022-07-02 20:04:42
Python之socket编程代码实例
定义
Socket 是网络编程的一个抽象概念。通常我们用一个 Socket 表示“打开了一个网络链接”,而打开一...
Python之socket编程代码实例
定义
Socket 是网络编程的一个抽象概念。通常我们用一个 Socket 表示“打开了一个网络链接”,而打开一个 Socket 需要知道目标计算机的 IP地址和端口号,再指定协议类型即可。
服务端操作#!/usr/bin/env python #coding:utf-8 """ @Name:socket-server.py @Date:1/19/18 @Connect:Sunny_Future@python.org @Desc:socket编程模拟Linux系统ssh命令 """ import socket import os def main(): #创建一个socket对象 server = socket.socket(family=socket.AF_INET) #绑定服务器的IP和端口 server.bind(('localhost',9999)) #监听是否有客户端连接 server.listen(5) #连接数最大为5个 print "server is listening......" #用try来运行可能会出错的代码 try: #如果有客户端连接,则接收客户端的连接, ip:port conn, addr = server.accept() while True: #接收客户端发送的消息 recv_data = conn.recv(1024) #给客户端回复消息 info = os.popen(recv_data).read() if os.system(recv_data) != 0: info = "命令执行错误!" conn.send(info) #如果执行错误,则执行except语句块 except Exception ,e : print "server errors" print e #不论try语句块内容是否正确,都会执行finally语句块 finally: #关闭服务器连接 server.close() #只有main才能执行main if __name__ == "__main__": main()客户端操作
#!/usr/bin/env python #coding:utf-8 """ @Name:socket-client.py @Date:1/19/18 @Connect:Sunny_Future@python.org @Desc:socket编程模拟Linux系统ssh命令 """ import socket #创建一个客户端的socket对象 client = socket.socket() try: #连接服务器 client.connect(('localhost',9999)) print "正在连接server主机....." while True: #给服务器发送消息 cmd = raw_input("[python@client~]$") if not cmd: continue if cmd == "quit": print "quit....." break client.send(cmd) #接收服务器回复的消息 cmd_res = client.recv(1024) print "[python@server~]$",cmd_res except Exception,e: print "client errors" print e finally: #关闭客户端连接 client.close()