Python基础教程之tcp socket编程详解及简单实例

 更新时间:2017年02月23日 11:01:30   投稿:lqh  
这篇文章主要介绍了Python基础教程之tcp socket编程详解及简单实例的相关资料,需要的朋友可以参考下

Python tcp socket编程详解

初学脚本语言Python,测试可用的tcp通讯程序:

服务器:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
 
import socket 
import threading 
import time 
 
def tcplink(sock, addr): 
  print('Accept new connection from %s:%s...' % addr); 
  sock.send(b'Welcome!!!'); 
  while True: 
    data = sock.recv(1024); 
    time.sleep(1); 
    if not data or data.decode('utf-8') == 'exit': 
       break; 
    sock.send(b'Hello, %s!' % data); 
  sock.close(); 
  print('Connection from %s:%s closed.' % addr); 
 
 
if __name__ == "__main__": 
 
  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); 
 
  s.bind(('127.0.0.1', 9090)); 
  s.listen(8); #监听8个客户端; 
  print('waiting for connection...'); 
 
  while True: 
    sock, addr = s.accept(); 
    t = threading.Thread(target=tcplink, args=(sock,addr)); 
    t.start(); 

客户端:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
 
import socket 
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); 
s.connect(('127.0.0.1', 9090)); 
print(s.recv(1024).decode('utf-8')); 
for data in [b'lk', b'aa', b'bb']: 
  s.send(data); 
  print(s.recv(1024).decode('utf-8')); 
s.send(b'exit'); 
s.close(); 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • pandas中按行或列的值对数据排序的实现

    pandas中按行或列的值对数据排序的实现

    本文主要介绍了pandas中按行或列的值对数据排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python3 图片referer防盗链的实现方法

    python3 图片referer防盗链的实现方法

    本篇文章主要介绍了python3 图片referer防盗链的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 浅谈Pycharm的项目文件名是红色的原因及解决方式

    浅谈Pycharm的项目文件名是红色的原因及解决方式

    这篇文章主要介绍了浅谈Pycharm的项目文件名是红色的原因及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中docx2txt库的使用说明

    Python中docx2txt库的使用说明

    这篇文章主要介绍了Python中docx2txt库的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python里disconnect UDP套接字的方法

    Python里disconnect UDP套接字的方法

    这篇文章主要介绍了Python里disconnect UDP套接字的方法,本文使用的是ctypes绕过的方法,需要的朋友可以参考下
    2015-04-04
  • Python2实现的LED大数字显示效果示例

    Python2实现的LED大数字显示效果示例

    这篇文章主要介绍了Python2实现的LED大数字显示效果,涉及Python的简单交互与列表相关使用技巧,需要的朋友可以参考下
    2017-09-09
  • 你知道怎么用Python监控聊天记录吗

    你知道怎么用Python监控聊天记录吗

    今天有位同事和我吐槽关于公司 XX 的问题,我告诉他不要在公司电脑上说这些,因为很可能会被狙击,这位同事刚开始还不信,直到我写了这边文章,他才恍然大悟
    2021-10-10
  • python程序输出无内容的解决方式

    python程序输出无内容的解决方式

    这篇文章主要介绍了python程序输出无内容的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python 远程执行命令的详细代码

    python 远程执行命令的详细代码

    有时会需要在远程的机器上执行一个命令,并获得其返回结果。对于这种情况,python 可以很容易的实现。今天通过实例代码介绍下python 远程执行命令的相关知识,感兴趣的朋友一起看看吧
    2022-02-02
  • 详解利用装饰器扩展Python计时器

    详解利用装饰器扩展Python计时器

    在本文中,云朵君将和大家一起了解装饰器的工作原理,如何将我们之前定义的定时器类 Timer 扩展为装饰器,以及如何简化计时功能,感兴趣的可以了解一下
    2022-06-06

最新评论