Python : 基本TCP/IP client

這是用Python3寫的TCP/IP client
跟server一樣也是超級短哈哈哈哈
需要的時候就直接複製使用吧

下面是我寫的程式碼
這邊我是用thread而不是用我C++版本用的select主要原因也是為了跨平台
而不用multiprocessing是因為client就一個process就好了,不要那麼大費周章
輸入'q'的時候會終止主程序和它裡面的thread
來吧!! 38行tcp client!!
#tcpclient.py
import sys
import socket
import threading
import os

def connectTCP(ip,port):
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect((ip,port))
    return client
def readFromServer(remote_server):
    read_buff = ''
    while True:
        read_a_char = remote_server.recv(1).decode('utf-8')
        if read_a_char != '\n':
            read_buff += read_a_char
        else:
            print(read_buff)
            read_buff = ''

def main():
    remote_server = connectTCP(sys.argv[1],int(sys.argv[2]))
    p = threading.Thread(target=readFromServer,args=(remote_server,))
    p.start()
    read_buff = ''
    while True:
        read_a_char = sys.stdin.read(1)
        if read_a_char != '\n':
            read_buff += read_a_char
        else:
            if read_buff=='q':
                remote_server.close()
                os._exit(0)
            remote_server.sendall((read_buff + '\n').encode('utf-8'))
            read_buff = ''

if __name__ == '__main__':
    main()

結果的截圖我就不放了
反正就是client


好了,今天的筆記到此結束
希望有幫助未來遺忘這些的自己,以及需要的人

留言

這個網誌中的熱門文章

python的list與numpy的array和matrix的關係