62,615
社区成员
发帖
与我相关
我的任务
分享
package cn.luobida.serviceclient;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class ServiceClient {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 8899);
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(outputStream);
writer.write("hello");
writer.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
System.out.println(line);
inputStream.close();
outputStream.close();
socket.close();
}
}
package cn.luobida.serviceserver;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class ServiceServer {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket();
server.bind(new InetSocketAddress("localhost", 8899));
while(true){
Socket socket = server.accept();
new Thread(new ServiceServerTaskImpl(socket)).start();
}
}
}
package cn.luobida.serviceserver;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.nio.CharBuffer;
public class ServiceServerTaskImpl implements Runnable{
Socket socket;
InputStream inputStream = null;
OutputStream outputStream = null;
public ServiceServerTaskImpl(Socket socket){
this.socket = socket;
}
public void run() {
try {
inputStream = socket.getInputStream();
outputStream = socket.getOutputStream();
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader buf = new BufferedReader(new InputStreamReader(inputStream));
String line = buf.readLine();
System.out.println(line);
String string = matchmess(line);
OutputStreamWriter writer = new OutputStreamWriter(outputStream);
writer.write(string);
writer.flush();
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
inputStream.close();
outputStream.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private String matchmess(String line) throws Exception {
if(line.equals("hello,myname is luobida.")){
return "i recive ,luobida";
}
return "erro";
}
}