---恢复内容开始---

优化两个小脚本实现不间断聊天:

server.py:

import socket
sk = socket.socket()  # 创建socket
addess = ('127.0.0.1', 8000)
sk.bind(addess)    # 创建被连接的IP与端口号
sk.listen(3)    # 客户端连接人数
while 1:
  conn, add = sk.accept()
  print('有客户端连接:', add)
  while 1:
    try:  # 异常处理
      data = conn.recv(1024)  # 接收
    except Exception:    # 出现异常就重新等待客户端的连接
      break
    print(str(data, 'utf8'))
    if not data:    # 如果接收的值为空,就重新等待客户端连接
      break
    inp = input('>>>:')  # 输入信息
    conn.send(bytes(inp, 'utf8'))  # 发送
  conn.close()

client.py:

import socket
sk = socket.socket()    # 创建 socket
addess = ('127.0.0.1', 8000)  # IP地址与端口号
sk.connect(addess)    # 连接服务器端
while True:
  inp = input('>>>:')  # 用户如果输入exit,那么与服务器端的聊天就结束
  if inp == 'exit':
    break
  sk.send(bytes(inp, 'utf8'))  # 发送
  data = sk.recv(1024)      # 接收
  print(str(data, 'utf8'))    # 解码打印
sk.close()

---恢复内容结束---

最新文章

  1. 关于comparable与comparator的用法(即自定义集合框架用法 )
  2. google prettify 代码高亮显示
  3. 13款精彩实用的最新jQuery插件
  4. 从零单排Linux – 3 – 目录结构
  5. hdu 3303 Harmony Forever (线段树 + 抽屉原理)
  6. Fatal error: Uncaught SoapFault exception
  7. POJ3041 Asteroids(二分图最大匹配)
  8. 【斐波拉契+数论+同余】【ZOJ3707】Calculate Prime S
  9. 201521123019 《Java程序设计》第4周学习总结
  10. 五年 Web 开发者 star 的 github 整理说明
  11. Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...
  12. React Native之React速学教程(上)
  13. Python的网络编程[1] -> FTP 协议[1] -> 使用 pyftplib 建立 FTP 服务器
  14. 【Flask】SelectedField 同步数据库
  15. Redis学习笔记01---配置文件
  16. python 面向对象四 继承和多态
  17. ssh 结构
  18. 【问题:SSH】win10使用SSH链接服务器时,提示:Host key verification failed
  19. 正则grep 使用介绍
  20. css基础,css选择器

热门文章

  1. Mac电脑最常见的办公软件是什么?Notion for Mac多功能办公笔记软件使用方法
  2. quartz的使用(一)
  3. leetcood学习笔记-169-求众数
  4. Tomcat 调优的技巧
  5. 代码格式化工具---prettier配置
  6. NX二次开发-UFUN创建基准平面UF_MODL_create_plane
  7. vue+webpack项目中px2rem的例子
  8. (转)OC学习笔记 @property的属性 strong 和 weak 理解
  9. LED 发光二极管压降
  10. nodejs中命令行和node交互模式的区分