Python : 基本TCP/IP client
這是用Python3寫的TCP/IP client
跟server一樣也是超級短哈哈哈哈
需要的時候就直接複製使用吧
下面是我寫的程式碼
這邊我是用thread而不是用我C++版本用的select主要原因也是為了跨平台
而不用multiprocessing是因為client就一個process就好了,不要那麼大費周章
輸入'q'的時候會終止主程序和它裡面的thread
來吧!! 38行tcp client!!
結果的截圖我就不放了
反正就是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
希望有幫助未來遺忘這些的自己,以及需要的人
留言
張貼留言