【过程记录 】windows和ubuntu两台电脑局域网进行socket通信收发数据和传输文件
生活随笔
收集整理的這篇文章主要介紹了
【过程记录 】windows和ubuntu两台电脑局域网进行socket通信收发数据和传输文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 實驗圖片和前期準(zhǔn)備:
- ubuntu作為服務(wù)端,windows客戶端傳輸數(shù)據(jù)和文件:
- windows作為服務(wù)端,ubuntu作為客戶端:
實驗圖片和前期準(zhǔn)備:
服務(wù)端發(fā)送和接受i:
客戶端接收服務(wù)端的時間:
設(shè)備:
自己的筆記本電腦和jetsonnano一臺+顯示屏
同一個wifi 查看ubuntu和windows的ip地址
注意:windows和ubuntu關(guān)閉防火墻!
ubuntu作為服務(wù)端,windows客戶端傳輸數(shù)據(jù)和文件:
服務(wù)端用python(jetsonnano)
客戶端用java寫:(自己筆記本)
服務(wù)端接收到文件并輸出:
代碼
客戶端接收到的:
windows作為服務(wù)端,ubuntu作為客戶端:
自己筆記本作為服務(wù)端:
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("成功收到來自客戶端的數(shù)據(jù)");System.out.println(newString);}inputStreamReader.close();inputStream.close();//關(guān)閉兩個流socket.close();//關(guān)閉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(); }服務(wù)端接收到數(shù)據(jù):
客戶端:
import socket # 導(dǎo)入 socket 模塊s = socket.socket() # 創(chuàng)建 socket 對象 host = "192.168.31.131" # windows的ip port = 8888 # 設(shè)置端口號s.connect((host, port)) s.send('yes!'.encode('utf-8')) #發(fā)送 TCP 數(shù)據(jù),將 string 中的數(shù)據(jù)發(fā)送到連接的套接字。返回值是要發(fā)送的字節(jié)數(shù)量,該數(shù)量可能小于 string 的字節(jié)大小。s.close()總結(jié)
以上是生活随笔為你收集整理的【过程记录 】windows和ubuntu两台电脑局域网进行socket通信收发数据和传输文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直接输入地址访问服务器上的静态资源
- 下一篇: 【学习笔记】操作系统之哲学原理