java解析發送tcp,Java解析文件

本文目錄一覽:

JAVA解析發送tcp ip報文

tcp報文,首先你們要設計好包頭和包尾,比如0x2是包頭,0x3就是包尾。這樣收發解析才不會亂。

裡面的協議基本上就是位元組的形式就好。無非就是服務端encode一下,客戶端decode。

不過你在做這個之前一定要寫好測試,否則數位元組能數死人。

java如何通過tcp發送指令

以下是一個展示java使用tcp通訊的簡單例子,包括伺服器和客戶端代碼:

/**

*TCPServer

*/

import java.io.*;

import java.net.*;

class TCPServer{

public static void main(String[] args)throws IOException{

ServerSocket listen = new ServerSocket(5050);

Socket server = listen.accept();

InputStream in = server.getInputStream();

OutputStream out = server.getOutputStream();

char c = (char)in.read();

System.out.println(“收到:” + c);

out.write(‘s’);

out.close();

in.close();

server.close();

listen.close();

}

}

/**

*TCPClient

*/

import java.io.*;

import java.net.*;

class TCPClient{

public static void main(String[] args)throws IOException{

Socket client = new Socket(“127.0.0.1” , 5050);

InputStream in = client.getInputStream();

OutputStream out = client.getOutputStream();

out.write(‘c’);

char c = (char)in.read();

System.out.println(“收到:” + c);

out.close();

in.close();

client.close();

}

}

請教大神,java socket介面,TCP長連接,怎麼解析和發送一種協議格式數據包

建議你下載我的java版本至尊聊天程序源碼下去參考。在CSDN或百度上找吧。

協議完全自己來定製,數據以位元組發送,以什麼開始,什麼結束,中間分幾段,都可由你自己來定,接收時,就按你定的規則來解析並還原。比如:我要的協議格式為

:10:3:5:content:

:表示一條消息的開始。

10表示總消息長度(只是個代數,有可能不是10,需要你在發送前計算)

:為分隔符

3為頭消息長度,也可能不是3

5表示後面的消息內容長度,甚至還可以定製,是否有圖片,從多少位置開始是圖片的數據。

:表示結束標誌

沒有人限制你的協議。

關鍵一點:你在收取的時候,一定要注意數據可能會粘包,這個問題很頭疼的。因為一般都是多線程模式。這需要你自己來處理它。一言難清。可以參考我的聊天程序。

java中怎麼用TCP發送數據?

println和 print的區別 還是參照javadoc比較準確,就是最後是否跟上一個換行。這種函數含義的解釋,查手冊是最準確的。

s.getOutputStream() 返回的結果 直接就是 OutputStream 這個類本身就是用於發送 byte[]的。

字元串轉化成 byte[] 直接調用getBytes。

LZ應該詳細閱讀java手冊。對於已經接觸到的類 比如String,這種基本的,要看看它所有的函數實現。這就和學英語背單詞一樣,必須要有量的上去才行。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258709.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:51
下一篇 2024-12-15 16:27

相關推薦

發表回復

登錄後才能評論