• python网络编程——实现简单聊天


    通过socket建立简单的聊天工具

    server.py

    import socket
    import threading
    import time
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('ip.*.*.*', 9999))
    s.listen(5)
    print('Waiting for connection...')
    
    def tcplink(sock, addr):
        print('Accept new connection from %s:%s...' % addr)
        sock.send(b'Welcome!')
        while True:
            data = sock.recv(1024)
            time.sleep(1)
            if not data or data.decode('utf-8') == 'exit':
                break
            print('Client:%s'%data.decode('utf-8'))
            sock.send(('Server:%s'% input()).encode('utf-8'))
        sock.close()
        print('Connection from %s:%s closed.' % addr)
    
    while True:
        # 接受一个新连接:
        sock, addr = s.accept()
        # 创建新线程来处理TCP连接:
        t = threading.Thread(target=tcplink, args=(sock, addr))
        t.start()

    client.py

    import socket
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 建立连接:
    s.connect(('ip.*.*.*', 9999))
    # 接收欢迎消息:
    print(s.recv(1024).decode('utf-8'))
    while True:
        msg=input()
        # 发送数据:
        s.send(msg.encode('utf-8'))
        print(s.recv(1024).decode('utf-8'))
        if msg =='exit':
           break
    s.send(b'exit')
    s.close()
  • 相关阅读:
    redis+Keepalived实现Redis主从复制
    Python基础之【第一篇】
    Django之常用命令以及问题汇总
    Django之ORM数据库
    牛掰的python与unix
    Django配置Bootstrap, js
    Django基础教程
    Django安装
    前端学习之jQuery
    centos7安装python3 以及tab补全功能
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/9936512.html
Copyright © 2020-2023  润新知