如图片所示:客户端发来OK时,在服务器端字符串前出现空格,
package socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JFrame;
import javax.swing.JTextField;
import chat.ChatFrame;
import message_show.Messageshow;
/*
* Socket接收消息
*/
public class Receive_Thread extends Thread{
final int Socket_string = 1;
final int Socket_picture = 2;
final int Socket_vedio = 3;
public int type;
public String recontent;
private InputStream is = null;
ChatFrame chatframe;
Socket socket;
public Receive_Thread(Socket socket,ChatFrame chatframe){
this.chatframe=chatframe;
this.socket=socket;
}
@Override
public void run() {
while(true){
//一直等待接收消息
try {
is = socket.getInputStream();
// if(is!=null){
// System.out.println("laixiaoxil");
// }
//
// else{
// System.out.println("kongde");
// }
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] types = new byte[4];
try {
is.read(types);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
type = BytesUtils.bytes2Int(types);
if(type==1){
//收到的是文字消息
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
while((recontent = br.readLine())!=null) {
recontent.trim();
System.out.println(recontent);
new Messageshow(chatframe.acceptPane,chatframe.scoPaneOne,false,recontent);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if(type==2){
System.out.println("是图片呀");
}
// socket.isInputShutdown();
}
}
}