1、服务器端:

int  portNumber = 1777;                                //只接受该端口号的客户端请求

ServerSocket  serverSocket = new ServerSocket(portNumber);   //创建服务器

Socket socket = serverSocket.accept();           //等待,直到有请求到达指定端口,接收客户端套接字

 

//使用一个ObjectOutputStream将数据发送出去,获取客户端套接字的输出流

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());

oos.write(String);                  //输出的字符串,在套接字的流句柄上

 

2、客户端:

int portNumber = 1777;          //需要与服务器端口号对上

Socket socket = new Socket(InetAddress.getLocalHost(), portNumber);   //表明在本机上运行服务器

注: 如果将InetAddress.getLocalHost()改为IP地址也行,或者输入本地网络中的计算机名,如"POGO”;

 

//获取套接字的流的句柄

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());

String str = (String) ois.readObject();    //读取套接字流上的字符串,由服务器端传来

 

//关闭

ois.close();

socket.close();

 

3、在服务器端,也可以接收由客户端发来的数据:

参见1中所述,增加:

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());   //获取客户端套接字流

String  str = (String) ois.readObject();      //获取客户端发来的数据   

 

4、在客户端发送数据:

参见2中所述,增加:

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());

oos.writeObject(String);           //可以将客户端的数据发送到套接字上

 

ObjectInputStream ois =  new ObjectInputStream(socket.getInputStream());

String str = (String) ois.readObject();   //获取由服务器端发送来的数据

 

//关闭:

ois.close();

oos.close();

socket.close();