import socket import time #IPV4,TCP協議 sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #綁定ip和端口,bind接受的是一個元組 sock.bind(('172.23.23.89',54378)) #設置監聽,其值阻塞隊列長度,一共可以有5+1個客戶端和服務器連接 sock.listen(5) a=[1,2,3,4] while True: # 將發送數據轉化為String s=str(a) # 等待客戶請求 connection,address = sock.accept() # 打印客戶端地址 print("client ip is:",address) # 接收數據,並存入buf buf = connection.recv(40960) print(buf.decode('utf-8')) # 發送數據 connection.send(bytes(s, encoding="utf-8")) # 關閉連接 connection.close() time.sleep(1) # 關閉服務器 sock.close()
clc clear tcpclient = tcpip('172.23.23.89', 54378, 'Timeout', 60,'OutputBufferSize',10240,'InputBufferSize',10240);%連接這個ip和這個端口的UDP服務器 %t.BytesAvailableFcnMode='byte' %while(1) %a=1:10 fopen(tcpclient); fwrite(tcpclient,'please sent');%發送一段數據給tcp服務器。服務器好知道matlab的ip和端口 while(1) %輪詢,直到有數據了再fread nBytes = get(tcpclient,'BytesAvailable'); if nBytes>0 break; end end receive = fread(tcpclient,nBytes);%讀取tcp服務器傳來的數據 %fread(t) %關閉連接 fclose(tcpclient); data=str2num(char(receive(2:end-1)')); %將ASCII碼轉換為str,再將str轉換為數組 disp(data) %end delete(tcpclient);