使用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编写爬虫小程序
May 14 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
python中import学习备忘笔记
Jan 24 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
Pycharm学习教程(1) 定制外观
May 02 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
Python 实现网页自动截图的示例讲解
May 17 Python
Python rstrip()方法实例详解
Nov 11 Python
Flask框架模板继承实现方法分析
Jul 31 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 Python
Python ini文件常用操作方法解析
Apr 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
php 获取完整url地址
2008/12/20 PHP
PHP学习 变量使用总结
2011/03/24 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
Python笔记(叁)继续学习
2012/10/24 Python
pyside写ui界面入门示例
2014/01/22 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
python实现文件的备份流程详解
2019/06/18 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
Python装饰器结合递归原理解析
2020/07/02 Python
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
医学专业毕业生个人求职信
2013/12/25 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年手术室工作总结
2014/11/26 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
检讨书之工作不认真
2019/08/14 职场文书