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
希望有幫助未來遺忘這些的自己,以及需要的人

留言
張貼留言