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

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

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()

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

import socket模块二的更多相关文章

  1. import socket模块

    编写两个小脚本实现聊天功能0.1: 脚本一,服务器端:server.py import socket # 调用模块 sk = socket.socket() # 创建socket addess = ( ...

  2. socket编程--socket模块介绍

    socket也称作'套接字,用于描述IP地址和端口,是一个通信的终点. socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",对于文件用[打开][读写] ...

  3. 第五十五节,IO多路复用select模块加socket模块,伪多线并发

    IO多路复用select模块加socket模块,伪多线并发,并不是真正的多线程并发,实际通过循环等待还是一个一个处理的 IO多路复用,lo就是文件或数据的输入输出,IO多路复用就是可以多用户操作 IO ...

  4. 第五十三节,socket模块介绍,socket单线程通讯

    socket单线程通讯,只能单线程通讯,不能并发 socket是基于(TCP.UDP.IP)的通讯.也叫做套接字 通讯过程由服务端的socket处理信息发送,由客户端的socket处理信息接收. so ...

  5. Python套接字编程(1)——socket模块与套接字编程

    在Python网络编程系列,我们主要学习以下内容: 1. socket模块与基本套接字编程 2. socket模块的其他网络编程功能 3. SocketServer模块与简单并发服务器 4. 异步编程 ...

  6. python基础===socket模块的讲解(转)

    一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web ...

  7. python——socket模块与列表映射

    从socket模块学习中的一段奇怪代码说起 前言:在学习python标准库中的Socket模块中,发现了一段奇怪的代码. import socket def get_constants(prefix) ...

  8. socket()模块和套接字对象的内建方法

    一.socket()模块函数 要使用socket.socket()函数来创建套接字,其语法如下: socket(socket_family,socket_type,protocol=0) 如上所述,s ...

  9. python 基础之第十二天(re正则,socket模块)

    In [14]: 'hello-wold.tar.gz'.split('.') Out[14]: ['hello-wold', 'tar', 'gz'] In [15]: import re In [ ...

随机推荐

  1. 使用canvas绘制6X6调色盘

    <canvas id="canvas" height="150" width="150"></canvas> var ...

  2. flume的安装和使用

    1.下载 [linyouyi@hadoop01 software]$ wget https://mirrors.aliyun.com/apache/flume/1.9.0/apache-flume-1 ...

  3. 48 git使用

    0 引言 git/github是当前最好的代码版本管理和协同工作工具.最近我终于用上了这一先进工具,撒花撒花! # 先把大神廖雪峰的链接献上https://www.liaoxuefeng.com/wi ...

  4. NX二次开发-将工程图视图+尺寸的最大边界导出图片

    /***************************************************************************** ** ** ExportPicture.c ...

  5. 2018-2019-2-20175323 java实验三敏捷开发与XP实践

    代码规范 安装alibaba插件 首先使用code栏里面的reformat code使代码的格式更加规范 再用编码规约扫描,alibaba把问题分为block/critical/major三个等级,出 ...

  6. SPSS进行数据分析的一般步骤

    SPSS进行数据分析的一般步骤 利用SPSS进行数据分析的一般步骤 利用SPSS进行数据分析的关键在于遵循数据分析的一般步骤,但涉及的方面会相对较少.主要集中在以下几个阶段. 1.SPSS数据的准备阶 ...

  7. AtCoder ABC 132E Hopscotch Addict

    题目链接:https://atcoder.jp/contests/abc132/tasks/abc132_e 题目大意 给定一张 N 个点 M 条边无自环无重边的一张有向图,求从起点 S 能否三步三步 ...

  8. Intellij IDEA 撸码最头大的问题。。

    想栈长我当初从 Eclipse 转用 IDEA 真是纠结,放弃然后尝试了N次,不过现在已经算是转型成功了,可以完全脱离 Eclipse 撸码了,虽然说我现在真的撸得非常少了.. 说到 IDEA 的痛点 ...

  9. Vue项目中同级组件传值的例子

    大家好,今天给大家带来Vue项目中同级组件之间传值的例子,父子组件之间的通信比较简单,这里不做讨论. 假设该项目中的需求如下: 图中左上角有一个按钮,我们的需求是点击它时,侧边导航栏收缩且主界面放大, ...

  10. 【POJ】1251 Jungle Roads

    题目链接:http://poj.org/problem?id=1251 题意:n个村庄字母标号,每个字母后跟m个字母,表示该字母到mi的距离.求构建所有村庄道路的最短距离. 题解:最小生成树裸题.注意 ...