在下编写Socket时遇到了很多阻塞问题,通过不屑的努力终于成功运行了第一个Socket程序很高兴,在此留下自己的成长痕迹吧
望各位高手莫见笑:
//server端:
package demo4;
import java.io.*;
import java.net.*;
public class Server {
public static void main(String args[]) throws IOException{
ServerSocket ssocket=new ServerSocket(888);
Socket socket=ssocket.accept();
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw=new PrintWriter(socket.getOutputStream());
String msg;
while((msg=br.readLine())!=null){
pw.println("echo: "+msg);
pw.flush();
if(msg.equals("bye"))break;
}
br.close();
pw.close();
socket.close();
ssocket.close();
}
}
//Client端
package demo4;
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws UnknownHostException,
IOException {
Socket socket = new Socket("localhost", 888);
System.out.println("已连接……");
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader localbr = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(socket.getOutputStream());
String msg;
while ((msg = localbr.readLine()) != null) {
pw.println(msg);
pw.flush();
System.out.println(br.readLine());
if (msg.equals("bye"))
break;
}
br.close();
localbr.close();
pw.close();
socket.close();
}
}
运行结果://粗体字为用户输入部分
已连接……
hello world
echo: hello world
bye
echo: bye