67,514
社区成员
发帖
与我相关
我的任务
分享
socket = ss.accept();
log("client connected: " + socket.getInetAddress().toString());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String inMsg = readAll(in);
log("you input is :" + inMsg);
//todo:process inMsg
out.print("success");
if(inMsg.startsWith("stop"))break;
out.close();
in.close();
socket.close();
socket = new Socket(ip, port);
out = new PrintWriter(socket.getOutputStream(),true);
out.println(msg);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
log(readAll(in));
out.close();
in.close();
socket.close();
protected String readAll(BufferedReader reader) throws Exception{
StringBuffer sb = new StringBuffer();
String line = null;
while( (line = reader.readLine())!=null){
sb.append(line + "\n");
System.out.println(line);
}
return sb.toString();
}
package com.ibm.sbe.sms;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SMSBase {
protected String read(Socket socket) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
StringBuffer sb = new StringBuffer();
int lines = Integer.valueOf(reader.readLine());
for (int i = 0; i < lines; i++) {
sb.append(reader.readLine() + "\n");
}
return sb.toString();
}
protected void send(Socket socket, String msg) throws Exception {
if(!msg.endsWith("\n"))msg += "\n";
String msg2 = msg.replaceAll("\n", "wp");
int len = msg2.length() - msg.length();
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
writer.println(len);
writer.println(msg);
}
protected static void log(String msg) {
System.out.println(getTimeStamp() + " " + msg);
}
protected static String getTimeStamp() {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return f.format(new Date());
}
}
class Reader extends Thread{
private Socket socket;
public Reader(Socket sock){
this.socket=sock;
}
public void run(){
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String inMsg = readAll(in);
log("you input is :" + inMsg);
//todo:process inMsg
out.print("success");
if(inMsg.startsWith("stop"))break;
out.close();
in.close();
socket.close();
}
}
socket = ss.accept();
Thread t=new Reader(socket);
t.start();