java中处理socket通信过程中粘包的情况
这两天学习了java中处理socket通信过程中粘包的情况,而且很重要,所以,今天添加一点小笔记。

创新互联公司服务项目包括茌平网站建设、茌平网站制作、茌平网页制作以及茌平网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,茌平网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到茌平省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
处理粘包程序是客户端的接受消息线程:
客户端:
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Reader;
import java.net.Socket;
import java.nio.CharBuffer;
public class TestSocketClient {
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestSocketClient().start();
}
class SendThread extends Thread{
private Socket socket;
public SendThread(Socket socket){
this.socket=socket;
}
@Override
public void run(){
while(true){
try{
Thread.sleep(1000);
String send=""+System.currentTimeMillis()+" ";
PrintWriter pw=new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
pw.write(send);
pw.flush();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
class ReceiveThread extends Thread{
private Socket socket;
private volatile byte[] bytes=new byte[0];
public ReceiveThread(Socket socket){
this.socket=socket;
}
public byte[] mergebyte(byte[] a,byte[] b,int begin,int end){
byte[] add=new byte[a.length+end-begin];
int i=0;
for(i=0;i服务端:
package com.meituan.service.bankgate.gateway;
/**
* Created by cqx on 16/7/19.
*/
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.CharBuffer;
import java.util.Date;
public class TESTAHAHHA {
private final static String SOAP_BEGIN = "1024*16){
break;
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(socket!=null){
try{
if(!socket.isClosed()){
socket.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
分享名称:java中处理socket通信过程中粘包的情况
分享地址:http://www.lzwzjz.cn/article/jpciig.html


咨询
建站咨询
