• socket模式


    服务端:

    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',8083))#插电话卡,127.0.0.1是电脑本地的ip地址,如果要进行远程
    #操作,基本上就是修改ip地址,ip地址+端口号,唯一指定服务器
    phone.listen(5) #设置同时能接收5个来电
    while True:#链接循环,保证服务端一直运行下去
    print('starting.....')
    conn,addr =phone.accept()#等待来电
    print('电话线路是',conn) #电话的链接线路
    print('客户端的手机号是',addr)
    while True: #通信循环,能让双方一直通信
    try:
    data =conn.recv(1024) #1024字节 #通过线路接收到的信息
    print('客户端发来的消息是',data.decode('utf-8'))
    conn.send(data.upper()) #通过线路发送信息
    except Exception:
    break
    conn.close() #关闭信息,即挂断电话
    phone.close() #关闭手机

    客户端:

    import socket
    phone =socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    phone.connect(('127.0.0.1',8083))#指定服务器
    while True:
    msg =input('>>:').strip()
    if not msg:continue
    phone.send(msg.encode('utf-8'))#py3中的字符串都是Unicode型,通过encode(编码)转化
    # 成betys型,进行数据传输

    data =phone.recv(1024)#接收到信息
    print('来自服务端的消息是',data.decode('utf-8'))
    phone.close()




  • 相关阅读:
    Java多线程总结(二)锁、线程池
    Java多线程总结(一)多线程基础
    如何创建并运行java线程
    Java高效计数器
    在JLabel上显示图片,并且图片自适应JLabel的大小
    用java读写ini配置文件
    Java读取ini配置
    JAVA – 虚函数、抽象函数、抽象类、接口
    Java UDP Socket
    18、面向对象基本原则及UML类图简介
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/6802975.html
Copyright © 2020-2023  润新知