服务器端
1 创建 ServerSocket ss 设置有端口号
2 等待连接 ss.accept() 返回一个socket 对象s
3 通过返回的对象s来读取相关信息
客户端
1 创建一个socket 配置ip和 端口号
2 创建printwriter
3通过 printwriter 来读写信息
服务器
public class Server {
public static void main(String args[]){
Server server=new Server();
}
public Server(){
try {
ServerSocket ss=new ServerSocket(9999);
Socket s=ss.accept();
InputStreamReader isr1=new InputStreamReader(s.getInputStream());
BufferedReader br1=new BufferedReader(isr1);
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
InputStreamReader isr2=new InputStreamReader(System.in);
BufferedReader br2=new BufferedReader(isr2);
while(true){
String infoFromClient=br1.readLine();
System.out.println("server 从客户端发来:"+infoFromClient);
System.out.println("server 从服务器发出:");
String infoFromServer=br2.readLine();
pw.println(infoFromServer);
if(infoFromClient.equals("bye")){
ss.close();
System.out.println("server SOCKET关闭");
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
客户端
package han87Client;
import han86client.NetClient1;
import han87.Server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String args[]){
Client nc=new Client();
}
public Client(){
try {
Socket ss=new Socket("127.0.0.1",9999);
//如果连接成功,就可以给服务器发送数据了 true 表示即时刷新
PrintWriter pw=new PrintWriter(ss.getOutputStream(),true);
while(true){
InputStreamReader isr1=new InputStreamReader(System.in);
BufferedReader br1=new BufferedReader(isr1);
System.out.println("client 向服务器发送内容为:");
InputStreamReader isr2=new InputStreamReader(ss.getInputStream());
BufferedReader br2=new BufferedReader(isr2);
String infoFromClient=br1.readLine();
pw.println(infoFromClient);//需要传送的数据
String infoFromServer=br2.readLine();
System.out.println("client 从服务器发来:"+infoFromServer);
if(infoFromServer.equals("bye")){
ss.close();
System.out.println("client socket 关闭 了");
}
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}