前几天,模拟了一个tcp发送与接收16进制的小程序。由于需求的改变现在需要接收二进制流式数据,下面记录一下客户端接收数据的实现的源码。
package client;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
public class ClientSocket {
static Socket socket = null;
static InputStream in = null;
public final static transient byte DL_A0 = (byte) 0xa0;//自定义“协议”分割符
public final static transient byte DL_AF = (byte) 0xaf;
public static void main(String[] args) {
try{
socket = new Socket("127.0.0.1", 8080);
in = socket.getInputStream();
DataInputStream dis = new DataInputStream(in);
/*根据分隔符定位开始标记--start*/
while (dis.available()>0) {
if (dis.readByte() == DL_AF) {
break;
}
}
/*根据分隔符定位开始标记--end*/
int count = 0; //记录接收一组数据的个数
in