zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    常用控件
    ThinkJS 中的Logic层
    ctx简介
    小程序商城的配置文件初读
    webstorm快捷键
    vue.js入门
    前端技术俗语js
    vue环境中生成二维码
    第二章第一个项目——关于mime
    第二章第一个项目——package.json
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/9936512.html
Copyright © 2011-2022 走看看