Python TCP Socket 传输服务器资源信息(C/S)

服务器端脚本:

 1 #!/usr/bin/env python
 2 # coding:utf8
 3 from socket import *
 4 import os
 5 import time
 6 HOST=‘‘
 7 PORT=21567
 8 BUFSIZ=1024
 9 ADDR=(HOST,PORT)
10
11 tcpSerSock = socket(AF_INET,SOCK_STREAM)
12 tcpSerSock.bind(ADDR)                #创建套接字
13 tcpSerSock.listen(5)                    #连接数
14 dic={}
15 while True:
16     tcpCliSock, addr = tcpSerSock.accept()  #接受客户端连接
17     data = tcpCliSock.recv(BUFSIZ)       #接收客户端数据
18     tcpCliSock.close()                   #关闭客户端
19     dic[addr[0]]=data.split()
20     os.system(‘touch  system_info‘)
21     string=‘‘
22     for k in dic:
23         s = k + ‘ ‘+ dic[k][0] +‘ ‘+ dic[k][1] +‘ ‘+dic[k][2]
24         string+=‘,‘.join(s.split()) + ‘\n‘       #把字符串中空格转换逗号
25     with open( ‘system_info‘ , ‘w‘) as f:
26         f.write(string)

客户端脚本:

 1 #!/usr/bin/env python
 2 # coding:utf8
 3 from socket import *
 4 import os
 5 from time import sleep
 6 HOST=‘192.168.1.226‘
 7 PORT=21567
 8 BUFSIZ=1024
 9 ADDR=(HOST,PORT)
10
11 while True:
12     tcpCliSock = socket(AF_INET, SOCK_STREAM)
13     tcpCliSock.connect(ADDR)              #尝试连接
14     while True:
15         data = os.popen("free -h | head -2 | tail -1 | awk ‘{print $2,$3}‘").read().strip(‘\n‘) +16         ‘ ‘ + os.popen("vmstat | tail -1 | awk -F ‘ ‘ ‘{print $15}‘").read().strip(‘\n‘)
17         print data
18         tcpCliSock.send(data)               #发送消息
19         break
20     tcpCliSock.close()                      #关闭客户端连接
21     sleep(5)

服务器端最终实现把客户端的IP、总内存、使用内存、CPU以字符串的方式写到文本里。

例:

192.168.1.121,15G,3.1G,100
192.168.1.42,125G,7.3G,100
192.168.1.43,125G,2.2G,100

时间: 2024-10-14 08:56:47

Python TCP Socket 传输服务器资源信息(C/S)的相关文章

Python Tcp Socket

socket(套接字),传输层通信的端点,由IP和端口号组成(IP,Port),可以通过socket精确地找到服务器上的进程并与之通信 python2.6实现,基于AF_INET(网络套接字) 类型SOCKET_STREAM(TCP套接字),SOCKET_DGRAM(UDP套接字) TCP socket通信逻辑 TCP服务端:创建socket>>>绑定本地服务器>>>监听连接>>>通信交互>>>关闭连接 TCP客户端:创建socket

python通过socket获得点对点的信息的代码

把内容过程中经常用的一些内容备份一次,下面内容是关于python通过socket获得点对点的信息的内容. import socket print "Creating socket...", s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "done." print "Looking up port number...", port = socket.getservbyname

python tcp socket 多线程

不多说,直接上代码 client.py #!/usr/bin/python import socket,sys,string host="localhost" port=8000 def main(): sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.connect((host,port)) message = raw_input("please input whath you want to search

Python tcp socket 传送文件

[测试环境] os:Windows 10 x64 Python:3.6.3 [server.py] #encoding: utf-8 #author: walker #date:  2017-12-01  #summary: 用socket创建tcp server以接收文件  import os, time import socket import struct cur_dir_fullpath = os.path.dirname(os.path.abspath(__file__)) Host 

Socket传输简单的信息以及粘包问题的解决

一.简单的socket程序--传输简短文字: # -*- coding: utf-8 -*- # -*- Author: WangHW -*- import socket whw_client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) whw_client.connect(('127.0.0.1',9001)) while 1: cmd = input('>>>:').strip() if not cmd: continue w

Linux C++ TCP Socket传输文件或图片实例

环境:Linux 语言:C++ 通信方式:TCP 下面用TCP协议编写一个简单的服务器.客户端,其中服务器端一直监听本机的6666号端口.如果收到连接请求,将接收请求并接收客户端发来的消息:客户端与服务器端建立连接.连接建立成功后,读取文件内容(/root/workspace/socket-picture/bizhi.jpg),发送给服务器端,服务器端新建new1.jpg文件,将接收到的文件内容保存到new1.jpg中,new1.jpg在当前目录下: Server.cpp 1 #include<

运维开发:python websocket网页实时显示远程服务器日志信息

功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用ajax每隔段时间去获取服务器日志?out了,试试用websocket方式吧 我用bottle框架,写了个websocket服务端,浏览器连接到websocket server,再用python subprocess获取远程服务器的日志信息,subprocess,就是用Popen调用shell的sh

网络编程四:互联网中TCP Socket服务器的实现过程需要考虑哪些安全问题

这篇曾经是答在这里的 互联网中TCP Socket服务器的实现过程需要考虑哪些安全问题- auxten 的回答 最近总是有人问我相关的问题,在专栏补发一下,希望能帮到更多人 首先,这是个很大的命题,之前在360负责过几个对外的服务的研发,也算是有点小经验,我试着答一下 在Internet环境下安全问题我主要分为如下几类 1. 信息传输过程中被黑客窃取 2. 服务器自身的安全 3. 服务端数据的安全 首先,如果能用https,就尽量用https,能用nginx等常见服务器,就用常见服务器,主要能避

python的socket连接端口:代替telnet检测服务器端口

场景: 在使用linux过程中,我们常用telnet来测试对方服务器某个端口是否开通,但linux默认没有安装telnet客户端,很多时候临时安装telnet会比较麻烦,这时候就可以使用python来做简单测试了. python import socket s=socket.socket() s.connect(("IP",port)) s.close 注:其实就是调用的socket模块,和telnet一样只能来测试tcp端口. 脚本:  1 #!/usr/bin/python   2