zoukankan      html  css  js  c++  java
  • Python使用Socket写一个简单聊天程序

    b2b模式的聊天工具

    服务端:

     1 # 链接
     2 while True:
     3     print('等待连接...')
     4     sock,adr = server_socket.accept()
     5     while True:
     6         try:
     7             # 接受数据
     8             data = sock.recv(1024)
     9             print(adr[0] + '发来消息:', data.decode())
    10             # 发送数据
    11             send_msg = input("请输入发送内容>>").strip()
    12             sock.send(send_msg.encode('utf-8'))
    13         except ConnectionResetError as e:
    14             print('%s断开连接!' %adr[0])
    15             break
    16     # 关闭本次连接
    17     sock.close()
    18 # 关闭socket
    19 server_socket.close()

    客户端:

    import socket
    
    # 设置服务器ip和端口号
    host_ip = '192.168.31.207'
    port = 8896
    client_socket = socket.socket()
    client_socket.connect((host_ip,port))
    
    while True:
        send_msg = input('请输入内容>>').strip()
        if send_msg == '':
            continue
        client_socket.send(send_msg.encode())
        recv_data = client_socket.recv(1024)
        print(host_ip+"回复:"+recv_data.decode())
    
    client_socket.close()

    目前只支持客户端发一句,服务端发一句这种模式。

    超过一句内容后,发出去的内容对方接收不到

    结果:

  • 相关阅读:
    GridView中使用DataFromatString
    添加文件Node
    GridView技巧1:加入序号
    Android UI控件Spinner控件的学习
    Android UI开发之RadioButton
    二叉树
    visual studio toolbox 修复
    github笔记
    nhibernate manytoone 没有匹配项时的异常
    DataMember 特性
  • 原文地址:https://www.cnblogs.com/tynam/p/8932506.html
Copyright © 2011-2022 走看看