Python TCP通信客户端服务端代码实例


Posted in Python onNovember 21, 2019

这篇文章主要介绍了Python TCP通信客户端服务端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

TCP客户端:

import argparse, socket,sys
import time
# socket.setdefaulttimeout(20)

def recvall(sock, length):
  data = b''
  while len(data) < length:
    more = sock.recv(length - len(data))
    if not more:
      raise EOFError('总共有%dbytes,但只收到了%dbytes' % (length, len(data)))
    data += more
  return data
if __name__ == '__main__':
  sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  sock.connect(('192.168.137.1', 10000))
  print('客户的分配了socket:', sock.getsockname())
  i=0
  for x in range(4):
   # try:
     text = '我是客户端你是服务器嚯嚯嚯!'.encode('utf-8')
     i=i+len(text)
     sock.sendall(text)
     sys.stdout.flush()
     print("已发送:",i)
   # except ConnectionResetError:
   #   pass
  sock.shutdown(socket.SHUT_WR)
  num = 0
  while True:
    reply = sock.recv(48) # b'Farewell, client'的长度
    num += len(reply)
    print('接收:',num)
    if not reply:
      print("ok")
      break

    # print('服务器返回:', reply.decode('utf-8'))
  print("理论上应该关闭sock")
  sock.close()
time.sleep(1)

TCP服务端:

import argparse, socket,sys

def recvall(sock, length):
  data = b''
  while len(data) < length:
    more = sock.recv(length - len(data))
    if not more:
      raise EOFError('总共有%dbytes,但只收到了%dbytes' % (length, len(data)))
    data += more
  return data
if __name__ == '__main__':
  sc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  sc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  sc.bind(('', 10000))
  sc.listen()
  print('正在侦听{}...'.format(sc.getsockname()))
  num = 0
  while True:
    scc, address = sc.accept()
    print('连接来自:', address)
    print('socket名字:', scc.getsockname())
    print('socket peer:', scc.getpeername())
    while True:
      message = scc.recv(42)#recvall(scc, 24) # 尝试 12,,20,28会是什么结果
      if not message:
        break
      # print('收到16-octet消息:', repr(message))
      print('收到16-octet消息:', (message.decode('utf-8')))
      scc.sendall(message)
      sys.stdout.flush()
      num += len(message)
      print("已发送:",num)

    scc.close()
    print('应答发送,socket关闭')
  sc.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
python实现复制大量文件功能
Aug 31 Python
Python 文件数据读写的具体实现
Jan 24 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
python tqdm实现进度条的示例代码
Nov 10 Python
Python 文本滚动播放器的实现代码
Apr 25 Python
python绘制随机网络图形示例
Nov 21 #Python
python绘制BA无标度网络示例代码
Nov 21 #Python
Python之指数与E记法的区别详解
Nov 21 #Python
python构建指数平滑预测模型示例
Nov 21 #Python
python实现画出e指数函数的图像
Nov 21 #Python
如何获取Python简单for循环索引
Nov 21 #Python
Python Web静态服务器非堵塞模式实现方法示例
Nov 21 #Python
You might like
一些关于PHP的知识
2006/11/17 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
php缓冲输出实例分析
2015/01/05 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
XML的代替者----JSON
2007/07/21 Javascript
javascript AutoScroller 函数类
2009/05/29 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
Vue中props的详解
2019/05/16 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
python解释器spython使用及原理解析
2019/08/24 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
英国鞋网:Rubber Sole
2020/03/03 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
田径运动会通讯稿
2014/09/13 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
赔偿协议书
2015/01/27 职场文书
皇城相府导游词
2015/02/06 职场文书
小学感恩节活动总结
2015/03/24 职场文书
法制教育观后感
2015/06/17 职场文书
初中运动会前导词
2015/07/20 职场文书
文明礼貌主题班会
2015/08/14 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书