【过程记录 】windows和ubuntu两台电脑局域网进行socket通信收发数据和传输文件
生活随笔
收集整理的這篇文章主要介紹了
【过程记录 】windows和ubuntu两台电脑局域网进行socket通信收发数据和传输文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 實驗圖片和前期準備:
- ubuntu作為服務端,windows客戶端傳輸數據和文件:
- windows作為服務端,ubuntu作為客戶端:
實驗圖片和前期準備:
服務端發送和接受i:
客戶端接收服務端的時間:
設備:
自己的筆記本電腦和jetsonnano一臺+顯示屏
同一個wifi 查看ubuntu和windows的ip地址
注意:windows和ubuntu關閉防火墻!
ubuntu作為服務端,windows客戶端傳輸數據和文件:
服務端用python(jetsonnano)
客戶端用java寫:(自己筆記本)
服務端接收到文件并輸出:
代碼
客戶端接收到的:
windows作為服務端,ubuntu作為客戶端:
自己筆記本作為服務端:
public class BeginThread extends Thread{private Socket socket;public BeginThread(Socket socket){super();this.socket = socket;}@Overridepublic void run(){try{InputStream inputStream = socket.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream);char[] charArr = new char[1000];int readLen = -1;while((readLen = (inputStreamReader.read(charArr))) != -1){String newString = new String(charArr,0,readLen);if(newString.matches("yes!"))System.out.println("成功收到來自客戶端的數據");System.out.println(newString);}inputStreamReader.close();inputStream.close();//關閉兩個流socket.close();//關閉socket}catch (IOException e){e.printStackTrace();}}}public class Server{public static void main(String[] args) throws IOException {ServerSocket socket = new ServerSocket(8888);int runTag = 1;while (runTag == 1){Socket socket1 = socket.accept();BeginThread beginThread = new BeginThread(socket1);beginThread.start();}socket.close(); }服務端接收到數據:
客戶端:
import socket # 導入 socket 模塊s = socket.socket() # 創建 socket 對象 host = "192.168.31.131" # windows的ip port = 8888 # 設置端口號s.connect((host, port)) s.send('yes!'.encode('utf-8')) #發送 TCP 數據,將 string 中的數據發送到連接的套接字。返回值是要發送的字節數量,該數量可能小于 string 的字節大小。s.close()總結
以上是生活随笔為你收集整理的【过程记录 】windows和ubuntu两台电脑局域网进行socket通信收发数据和传输文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直接输入地址访问服务器上的静态资源
- 下一篇: 【算法】设计算法求所有强连通分量的完整代