不说废话上代码
package APP;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
//服务器
public class DemoServer implements Runnable {
@Override
public void run() {
try {
ServerSocket server = new ServerSocket(9050);
Socket socket;
DataInputStream in;
DataOutputStream out;
while (true) {
// 等待client的请求
socket = server.accept();
// 接收客户端的数据
in = new DataInputStream(socket.getInputStream());
String ss = in.readUTF();
if (ss.equals("bb")) {
socket.close();
break;
}
// 发送给客户端数据
out = new ataOutputStream(socket.getOutputStream());
out.writeUTF("return____" + ss);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DemoServer serverApp = new DemoServer();
serverApp.run();
}
}
*****************************华丽的分割线****************************
package APP;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
import java.util.Scanner;
public class DemoClient {
public static void main(String[] args) {
System.out.println("Let's Go...");
Socket socket;
String p;
DataInputStream in;
DataOutputStream out;
Scanner scanner;
while (true) {
try {
socket = new Socket("localhost", 9050);
scanner = new Scanner(System.in);
p = scanner.nextLine();
// 发送给服务器的数据
out = new DataOutputStream(socket.getOutputStream());
out.writeUTF(p);
if (p.equals("bb")) {
socket.close();
break;
}
// 接收服务器的返回数据
in = new DataInputStream(socket.getInputStream());
System.out.println("return" + in.readUTF());
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
用法:先将服务器启动,在进行客户端测试