zoukankan      html  css  js  c++  java
  • python内置socket模块完成网络通信服务端代码(附客户端代码)!

    #   网络通信服务端
    import socket                           #   1、导入网络通信模块
    ip_port = ('0.0.0.0',9898)              #   2、制定自身服务器地址和端口
    ser = socket.socket()                      #   3、实例化对象,参数不填默认是ipv4,TCP传输
    ser.bind(ip_port)                       #   4、绑定连接
    ser.listen(4)                            #    5、设置监听,最多允许5个接入
    print("开始接入.....")
    
    scl,addr = ser.accept()                  #    6、开始接受连接,阻塞直到收到客户端连接
    scl.sendall("连接成功!".encode('utf-8'))#   7、连接成功反馈给客户端的消息
    while True:
        msg = scl.recv(1024)                 #    8、接受客户端消息
    print("客户端:",msg.decode('utf-8'))
        if msg.decode('utf-8') == 'q':
            break
    sermsg = input("服务器:")
        scl.sendall(sermsg.encode('utf-8')) #     9、向客户端发送字符串消息
    if sermsg == 'q':
            break
    ser.close()    #   关闭服务端
    
    
    
    
    
    #    网络通信客户端
    import socket                   #   1、导入网络通信模块
    scl = socket.socket()              #   2、创建客户端
    ip_port = ('127.0.0.1',9898)    #   3、制定服务器端的地址和端口
    scl.connect(ip_port)              #   4、开始连接服务器
    msg = scl.recv(1024)              #   5、接收来自服务器的信息
    print("客户端:",msg.decode('utf-8'))
    
    while True:
        cmsg = input("客户端:")
        clmsg = scl.sendall(cmsg.encode('utf-8'))#  客户端发送消息
    if cmsg == 'q':
            break
    climsg = scl.recv(1024)
        print("服务器:",climsg.decode('utf-8'))
        if climsg == 'q':
            break
    scl.close()     #  关闭客户端



  • 相关阅读:
    checkbox radio select 选中总结
    vue-cli3总结
    数组总结
    Object 总结
    ajax总结
    canvas
    移动端事件
    微服务架构 SpringBoot(一)
    spring+activemq实战之配置监听多队列实现不同队列消息消费
    Integer 数值比较
  • 原文地址:https://www.cnblogs.com/Tridents/p/9123381.html
Copyright © 2011-2022 走看看