server------------------------
#!/usr/bin/env python
# encoding: utf-8  
# Date: 2018/6/5

import socket

phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
phone.bind(('127.0.0.1', 8081))
phone.listen(5)

print('starting.......')
while True:  # 链接循环,保证客户端停止,服务端不停止,但是不支持并发
    conn, client_addr = phone.accept()
    print(client_addr)

while True:
        try:  # window异常捕获
            data = conn.recv(1024)
            if not data:  # 适用于linux
                break  # 客户端断掉,发送空过来
            print('客户端的数据', data)
            conn.send(data.upper())
        except ConnectionResetError:
            break
    conn.close()
phone.close()
client1--------------------------
#!/usr/bin/env python
# encoding: utf-8  
# Date: 2018/6/5

import socket

phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.connect(('127.0.0.1', 8081))

while True:
    msg = input('>>>').strip()
    if not msg:continue
    phone.send(msg.encode('utf-8')) # 应用程序发给操作系统,操作系统调用网卡
    data = phone.recv(1024)
    print(data.decode('utf-8'))

phone.close()

client2--------------------

#!/usr/bin/env python
# encoding: utf-8  
# Date: 2018/6/5

import socket

phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.connect(('127.0.0.1', 8081))

while True:
    msg = input('>>>').strip()
    if not msg:continue
    phone.send(msg.encode('utf-8')) # 应用程序发给操作系统,操作系统调用网卡
    data = phone.recv(1024)
    print(data.decode('utf-8'))

phone.close()

socket链接循环的更多相关文章

  1. python开发socket套接字:套接字&通信循环&链接循环&模拟远程命令

    一,套接字 先从服务器端说起.服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Socket ...

  2. 网络编程 - 1.简单的套接字通信/2.加上通信循环/3.bug修复/4.加上链接循环/5.模拟ssh远程执行命令

    1.简单的套接字通信 服务端 ''' 服务端 接电话 客户端 打电话 1.先启动服务端 2.服务端有两种套接字 1.phone 用来干接收链接的 2.conn 用来干收发消息的 ''' import ...

  3. android 发送UDP广播,搜寻server建立socket链接

    应用场景:client(手机.pc)须要搜寻所在局域网内的server并获得server地址. 方法简单介绍:client发送UDP广播,服务收到广播后得到clientip地址,然后向client发送 ...

  4. Java设置Client Socket链接Server超时时间

    Java设置Client Socket链接Server超时时间 学习了:http://blog.csdn.net/tterminator/article/details/52494141 http:/ ...

  5. socket链接的关闭连接与close和shutdown的区别

    TCP主动关闭连接 appl: close(), --> FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN <-- ACK FIN_WAI ...

  6. Linux Socket - 基本socket链接

    0x0000 Linux Socket 函数 bind listen connect accept send recv read write 0x0001 Server绑不上ip 报错位置在bind函 ...

  7. 『随笔』Socket 链接 必须 上下行 同时使用

    结论: > Socket 理论上 支持 只上行,或者 只下行. > 心跳包 必须是 上下行的 —— 心跳包请求(上行) - 心跳包响应(下行). > 如果 长时间 只有单向链接(只发 ...

  8. Linux下高并发socket链接数测试

    一.如何增大service进程的max open files ulimit -n 只能改小max open files,不能改大.需要按照以下步骤: 修改/etc/security/limits.co ...

  9. socket传输数据循环多次的性能要好于一次

    今天做了一个测试,测试使用python的socket传输一个588k的数据,当传输过程执行一次时,执行时间为2ms左右.我觉着执行一次的时间并不能说明问题,于是就写了一个循环,循环执行1000次,然后 ...

随机推荐

  1. 运算符和typeof

    算术运算符 例: var  a =10; var  b = "a"; var c = a-b; 那么c的值是NaN. 逻辑运算符:&&,|| 注意:如果是非布尔类型 ...

  2. [IC]Lithograph(0)半导体制造的基本过程

    1. 晶圆片 Wafer 晶圆(Wafer)是指硅半导体集成电路制作所用的硅芯片,由于其形状为圆形,故称为晶圆.晶圆是生产集成电路所用的载体,一般意义晶圆多指单晶硅圆片. 半导体行业从图1到图2,是一 ...

  3. iot_programe Makefile hacking

    /***************************************************************************** * iot_programe Makefi ...

  4. 实战maven私有仓库三部曲之二:上传到私有仓库

    在上一章<实战maven私有仓库三部曲之一:搭建和使用>我们搭建了maven私有仓库,并体验了私有仓库缓存jar包的能力,避免了局域网内开发人员去远程中央仓库下载的痛苦等待,本章我们再来体 ...

  5. THREE.OrbitControls参数控制

    // Set to false to disable this control//鼠标控制是否可用 this.enabled = true; // "target" sets th ...

  6. CF1109B Sasha and One More Name

    CF1109B Sasha and One More Name 构造类题目.仔细看样例解释能发现点东西? 结论:答案只可能是 \(Impossible,1,2\) . \(Impossible:\) ...

  7. SQL夯实基础(八):联接运算符算法归类

    今天主要介绍三个常用联接运算符算法:合并联接(Merge join),哈希联接(Hash Join)和嵌套循环联接(Nested Loop Join).(mysql至8.0版本,都只支持Nested ...

  8. python第三方库

    autopy autopy是一个自动化操作的python库,可以模拟一些鼠标.键盘事件,还能对屏幕进行访问 pywin32 win32api的python封装 PIL python的图形图像处理框架

  9. elixir 集成ejabberd

    备注: 我开发测试的环境时centos 1. 预备环境 1. openssl yum install -y  openssl-devel 2. xml yum install -y expat-dev ...

  10. lbypmall虚拟主机的设置

    虚拟机配置不完整,导致访问是样式路径不正确,问题可能是config.inc.php配置不正确 1.修改/etc/php.ini 访问目录限制 open_basedir =/home/upload/:/ ...