使用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爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 Python
Python生成短uuid的方法实例详解
May 29 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
简单了解python的一些位运算技巧
Jul 13 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
Python容器类型公共方法总结
Aug 19 Python
python​格式化字符串
Apr 20 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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
Python实现自动上京东抢手机
2018/02/06 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
python中@contextmanager实例用法
2021/02/07 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
求职简历中的自我评价分享
2013/12/08 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
Oracle笔记
2021/04/05 Oracle