使用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爬取十篇新闻统计TF-IDF
Jan 03 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
python实现淘宝秒杀脚本
Jun 23 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
Jun 27 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 Python
python如何输出反斜杠
Jun 18 Python
python 模块导入问题汇总
Feb 01 Python
Python制作一个随机抽奖小工具的实现
Jul 07 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判断是否为空的几个函数对比
2015/04/21 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
2014全国两会学习心得体会1000字
2014/03/10 职场文书
求职简历自我评价范例
2014/03/12 职场文书
批评与自我批评范文
2014/10/15 职场文书
赞美教师的句子
2019/09/02 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
Python import模块的缓存问题解决方案
2021/06/02 Python
Win10系统下配置Java环境变量
2021/06/13 Java/Android
图神经网络GNN算法
2022/05/11 Python
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers