使用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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
在Python的循环体中使用else语句的方法
Mar 30 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
Django的session中对于用户验证的支持
Jul 23 Python
Python深度优先算法生成迷宫
Jan 22 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
python set内置函数的具体使用
Jul 02 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python tkinter组件摆放方式详解
Sep 16 Python
Python 代码调试技巧示例代码
Aug 11 Python
Python实现老照片修复之上色小技巧
Oct 16 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 echo 输出字符串函数详解
2010/05/13 PHP
PHP的拦截器实例分析
2014/11/03 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
财务管理专业推荐信
2013/11/19 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
超市开店计划书
2014/04/26 职场文书
学生实习证明范文
2014/09/28 职场文书
学校百日安全活动总结
2015/05/07 职场文书
导游词之千岛湖
2019/09/23 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android