//------------------------在client 端开始的时候我用的是printwriter; 但是后来发现没有效果;(服务器端不嫩而过接受到信息; )后来改为printstream 没问题了;
// 后来试试BufferedWriter 似乎也不行; 不知道为什么以后注意了;如果有不对欢迎指正;
public class Server {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(2000);
while (true) {
Socket socket = server.accept();
System.out.println("接受到 来自"
+ socket.getInetAddress().getHostAddress() + "的请求");
ServerThread thread = new ServerThread(socket);
thread.start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 2000);
PrintWriter pw = new PrintWriter(socket.getOutputStream());
PrintStream ps = new PrintStream(socket.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
String str = null;
while ((str = br.readLine()) != null) {
ps.println(str);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package learn16;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class ServerThread extends Thread {
private Socket socket = null;
public ServerThread(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String str = null;
while ((str = br.readLine()) != null) {
System.out.println("服务线程收到来自客户端的消息"+str);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}