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()
  • 相关阅读:
    冲刺——第三天
    冲刺——第二天
    梦断代码前三章略有感想
    四则运算法则设计思路
    第一期阅读计划
    软件工程概论第一次课堂小测-------产生30个100以内的随机整数四则运算的小程序
    软件演化
    软件测试
    软件实现
    面向对象设计
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/9936512.html
Copyright © 2011-2022 走看看