python知識撿拾---tcp通信服務

tcp服務器端:
#! /usr/bin/python
# -*- coding:utf-8 -*-
import socket
def main():
    tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    tcp_server_socket.bind(("",7890))
    tcp_server_socket.listen(128)
    while True:
        print("等待一個新的客戶端的到來")
        new_client_socket,client_addr = tcp_server_socket.accept()
        # print("-----2-----")
        print("一個新的客戶端已經到來%s " % str(client_addr))
        # 爲同一個客戶端服務多次
        while True:
            # 接送客戶端發送過來的請求
            recv_data = new_client_socket.recv(1024)
            print("客戶端發送過來的請求是:%s"% recv_data.decode("utf-8"))
           # 如果recv解堵塞,那麼有兩種方式
            if recv_data:
                # 回送一部分數據給客戶端
                new_client_socket.send("hahaha".encode("utf-8"))
            else:
               break

        new_client_socket.close()
        print("已經爲這個客戶端服務完畢。。。")
    tcp_server_socket.close()
if __name__=="__main__":
    main()
tcp客戶端
#! /usr/bin/python
# -*- coding:utf-8 -*-
import socket
def main():
    # 創建tcp套接字
    tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    server_ip=input("請輸入要連接的服務器ip:")
    server_port=int(input("請輸入要連接的服務器port:"))
    server_addr=(server_ip,server_port)
    #鏈接服務器
    tcp_socket.connect(server_addr)
    while True:
        # 發送數據
        send_data = input("請輸入要發送的數據:")
        if send_data=="byebye":
            break
        tcp_socket.send(send_data.encode("utf-8"))
    # 關閉套接字
    tcp_socket.close()

if __name__=="__main__":
    main()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章