62,614
社区成员
发帖
与我相关
我的任务
分享
做一段socket程序,一个客户端一个服务器端,客户端传给服务器端查询条件,服务器端将查询结果以xml形式返回给客户端,很简单得需求吧,现在迷茫于网络流得io操作中
OutputStream socketOut = socket.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socketOut));
bw.write("hello");
bw.flush();
int i = is.available();
String result;
while(i>0){
byte[] buff = new byte[i];
is.read(buff);
result = result + new String(buff);
i = is.available();
}
public String sendRequest(String condition) {
BufferedWriter bw = null;
BufferedReader br = null;
try {
socket = new Socket(host, port);
// 发送关闭命令
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write(condition);
bw.flush();
socket.shutdownOutput();
// 接收服务器的反馈
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String result = "";
String line = "";
while((line = br.readLine())!=null){
result = result + line;
}
return result;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
BufferedWriter bw = null;
BufferedReader br = null;
try {
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String result = "";
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = "";
while((line = br.readLine())!=null){
result = result + line;
}
System.out.println("there:"+result);
//转化条件表达式
Map condition = ConditionParser.convert(result.trim());
//获得相应的业务实现
IBussiness ib = new UserSyn();
bw.write(ib.doBusiness(condition));
bw.flush();
socket.shutdownOutput();
} catch (IOException e) {
e.printStackTrace();
} catch (ConditionFormatException e) {