使用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 相关文章推荐
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 Python
在Python的Django框架中为代码添加注释的方法
Jul 16 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
Python判断两个list是否是父子集关系的实例
May 04 Python
python创建文件时去掉非法字符的方法
Oct 31 Python
Python之列表实现栈的工作功能
Jan 28 Python
Python 求数组局部最大值的实例
Nov 26 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
pytorch 中forward 的用法与解释说明
Feb 26 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
第九节--绑定
2006/11/16 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
python中bisect模块用法实例
2014/09/25 Python
Pycharm学习教程(1) 定制外观
2017/05/02 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
中医临床专业自我鉴定范文
2014/01/15 职场文书
班队活动设计方案
2014/01/30 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
初中教师业务学习材料
2014/05/12 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
海弦WR-800F
2022/04/05 无线电