java中处理socket通信过程中粘包的情况
这两天学习了java中处理socket通信过程中粘包的情况,而且很重要,所以,今天添加一点小笔记。
处理粘包程序是客户端的接受消息线程:
客户端:
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
importjava.io.PrintWriter;
importjava.io.Reader;
importjava.net.Socket;
importjava.nio.CharBuffer;
publicclassTestSocketClient{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
newTestSocketClient().start();
}
classSendThreadextendsThread{
privateSocketsocket;
publicSendThread(Socketsocket){
this.socket=socket;
}
@Override
publicvoidrun(){
while(true){
try{
Thread.sleep(1000);
Stringsend=""+System.currentTimeMillis()+" ";
PrintWriterpw=newPrintWriter(newOutputStreamWriter(socket.getOutputStream()));
pw.write(send);
pw.flush();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
classReceiveThreadextendsThread{
privateSocketsocket;
privatevolatilebyte[]bytes=newbyte[0];
publicReceiveThread(Socketsocket){
this.socket=socket;
}
publicbyte[]mergebyte(byte[]a,byte[]b,intbegin,intend){
byte[]add=newbyte[a.length+end-begin];
inti=0;
for(i=0;i
服务端:
packagecom.meituan.service.bankgate.gateway;
/**
*Createdbycqxon16/7/19.
*/
importjava.io.*;
importjava.net.ServerSocket;
importjava.net.Socket;
importjava.nio.CharBuffer;
importjava.util.Date;
publicclassTESTAHAHHA{
privatefinalstaticStringSOAP_BEGIN="1024*16){
break;
}
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(socket!=null){
try{
if(!socket.isClosed()){
socket.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短