1. 程式人生 > >tcp聊天器

tcp聊天器

tcp_sever

from socket import *


def main():
    # 建立套接字
    tcp_socket = socket(AF_INET, SOCK_STREAM)
    # 繫結本地資訊
    tcp_socket.bind(("", 8080))
    # 監聽
    tcp_socket.listen(124)
    while True:
        # 等待客戶端連結
        connt, addr = tcp_socket.accept()
        print("ip:%s 埠號:%s的使用者已上線" % (addr[0], addr[1]))
        while True:
            recv_data = connt.recv(1024)
            if len(recv_data) == 0:
                print("使用者%s已下線" % addr[0])
                break
            print("來自%s的訊息:%s" % (addr[0], recv_data.decode("utf-8")))
            connt.send("OK".encode("utf-8"))
        connt.close()
    # 關閉套接字
    tcp_socket.close()
if __name__ == '__main__':
    main()

tcp_client

from socket import *


def main():
    # 建立套接字
    tcp_socket = socket(AF_INET, SOCK_STREAM)
    # 連結伺服器
    tcp_socket.connect(("", 8080))
    # 輸入傳送資料
    while True:
        info = input("請輸入傳送資料:")

        if info == "exit":
            break
        tcp_socket.send(info.encode("utf-8"))
        tcp_data = tcp_socket.recv(1024)
        print("來自伺服器的資料為:%s" % tcp_data.decode("utf-8"))

    tcp_socket.close()

if __name__ == '__main__':
    main()