[英]read socket data with java
我正在使用websocket發送數據,這是代碼(javascript)
socket= new WebSocket('ws://localhost:10302/socket');
socket.onopen= function() {
socket.send('delete structure'+c);
}
在服務器端,我正在使用Java,這是代碼
try {
standardiste = new ServerSocket(10302);
while(true) {
System.out.println("listening data from socket");
socket = standardiste.accept();
try {
BufferedReader entree = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(entree!=null)
{
System.out.println(entree.readLine());
}
}
catch(IOException exc) {
}
socket.close();
}
}
我想讀取發送的數據?
您需要的是
String line;
while((line = entree.readLine()) != null){
System.out.println(line);
}
您嘗試的是將BufferedReader綁定到Socket中,但從不讀取任何內容。 這就是BufferedReader.readLine()方法的用處,該方法從緩沖區讀取一行(直到到達結束符)。
通過將當前行與null( readLine() != null
)進行比較,您可以繼續讀取直到停止接收傳輸結束為止。
編輯:
恐怕WebSocket協議與Java Socket協議不同,因此它僅接收標頭,但無法識別正在發送的任何實際數據,這很簡單,因為協議不匹配。 嘗試使用Java WebSocket類。 這是一個很好的教程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.