使用python编写监听端


Posted in Python onApril 12, 2018

本文实例为大家分享了python编写监听端的具体代码,供大家参考,具体内容如下

import socket 
import time 
import sys 
import string 
import struct 
import errno 
import binascii 
 
#Definition 
ser_ip = 'localhost' 
ser_port = 15001 
HEADER_LISTENER = "IIII" 
split_time = 4 
 
class TcpClient: 
 
 def run_srv(self): 
  sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
 
  print ("Trying to connect server...") 
 
  addr = (ser_ip, ser_port) 
   
  print ("Connecting " + ser_ip + ":" + str(ser_port)) 
 
  #Connect server 
  try: 
    sock.connect(addr) 
  except Exception,e: 
    print ("Error:%s" % (e)) 
    sock.close() 
    sys.exit() 
 
  hl = struct.pack(HEADER_LISTENER,0,0,0,0) 
  header_len = len(hl) 
   
  while True: 
    try: 
      buf_recv = sock.recv(header_len) 
    buf_header = buf_recv[0:header_len]      
      thread_id = struct.unpack("!4I" , buf_header)[0] 
    err_num = struct.unpack("!4I" , buf_header)[1] 
    com_num = struct.unpack("!4I" , buf_header)[2] 
    wait_num = struct.unpack("!4I" , buf_header)[3] 
    #print("header len %d, recv len %d,buf_header:%s,buf_recv:%s")%(header_len,len(buf_recv),binascii.hexlify(buf_header),binascii.hexlify(buf_recv)) 
      print ("split time:%d")%(split_time) 
      print ("thread id :%d")%(thread_id) 
      print ("error nums:%d")%(err_num) 
      print ("compl nums:%d")%(com_num) 
      print ("wait nums:%d")%(wait_num) 
      print ("----------------------") 
    except Exception,e: 
      print ("Error:%s" % (e)) 
      sock.close() 
      sys.exit() 
       
 
if __name__ == '__main__': 
  if (len(sys.argv) >= 2): 
    ser_port = int(sys.argv[1]) 
   
  client = TcpClient() 
  client.run_srv()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
python使用tkinter实现简单计算器
Jan 30 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
python:接口间数据传递与调用方法
Dec 17 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
python日志模块logbook使用方法
Sep 19 Python
python反转列表的三种方式解析
Nov 08 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
Django基础CBV装饰器和中间件
Mar 22 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 #Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 #Python
python:pandas合并csv文件的方法(图书数据集成)
Apr 12 #Python
用pandas按列合并两个文件的实例
Apr 12 #Python
Python中多个数组行合并及列合并的方法总结
Apr 12 #Python
Python实现的凯撒密码算法示例
Apr 12 #Python
python merge、concat合并数据集的实例讲解
Apr 12 #Python
You might like
PHP新手上路(十)
2006/10/09 PHP
JS实现php的伪分页
2008/05/25 PHP
php中in_array函数用法探究
2014/11/25 PHP
php similar_text()函数的定义和用法
2016/05/12 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
HTML5附件拖拽上传drop & google.gears实现代码
2011/04/28 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
Python 占位符的使用方法详解
2019/07/10 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
keras输出预测值和真实值方式
2020/06/27 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
Java如何调用外部Exe程序
2015/07/04 面试题
班级寄语大全
2014/04/10 职场文书
离婚财产分割协议书
2015/08/11 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书