使用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 相关文章推荐
Atom的python插件和常用插件说明
Jul 08 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
面向对象学习之pygame坦克大战
Sep 11 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
Pytorch 实现focal_loss 多类别和二分类示例
Jan 14 Python
python实现快递价格查询系统
Mar 03 Python
Django之腾讯云短信的实现
Jun 12 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 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
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
python中assert用法实例分析
2015/04/30 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
python实现聚类算法原理
2018/02/12 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
python中xlrd模块的使用详解
2021/02/01 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
复古服装:RetroStage
2019/05/10 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
怎么样写好简历中的自我评价
2013/10/25 职场文书
物业管理工作方案
2014/05/10 职场文书
公司董事长岗位职责
2014/06/08 职场文书
Python如何让字典保持有序排列
2022/04/29 Python
oracle数据库去除重复数据
2022/05/20 Oracle