这是我的socket实现:
s = new Socket(this.host,this.port);
s.setReceiveBufferSize(2048*2048);
s.setSendBufferSize(2048*2048);
Run Code Online (Sandbox Code Playgroud)
当我收到太多数据时,我的数据被裁剪如下:
Recieving Message: {"cmd":"209","args":{"type":1,"messages":[{...},{...},{...},{..{...},{?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...
Run Code Online (Sandbox Code Playgroud)
[编辑]我创建了一个名为InputReader的类,它实现了一个Runnable,这个类里面有一个run方法和一个while条件:
private class InputReader implements Runnable {
private DarkStarSocketClient main;
private InputStream in;
private boolean disconnected = false;
public InputReader(DarkStarSocketClient main, InputStream in) {
this.main = main;
this.in = in;
}
public void run() {
while (!disconnected) {
try {
byte hi = (byte) in.read();
if (hi == -1) {
main.disconnect();
MessageBuffer dummy = new MessageBuffer(new byte[0]);
postRequest(dummy);
break;
}
byte lo = (byte) in.read();
int len = ((hi …Run Code Online (Sandbox Code Playgroud)