就是一个客服端(Socket)和服务器(ServerSocket)端的链接间。我的理解是一个服务端可以链接多个客服端。
在客服端有输入流outPutStream. 用于发送数据
在服务器端有输出流。inputStream. 用于接受数据。
其他的我觉得多写几次就能够理解了。
客服端Socket
package Text; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; public class Soc { public static void main(String[] args)throws Exception { //发送端的链接 Socket s = new Socket(InetAddress.getByName("192.168.1.100"),10010); //给一个输入流 OutputStream out = s.getOutputStream(); //写入到输出流里面去。 out.write("我在想你是不是笨蛋呢?".getBytes()); s.close(); } }
下面是服务器端。ServerSocket
package Text; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class socSev { //TCP服务端 //1.建立一个服务端的socket服务。并且监听相应的端口 //2.然后获取到客服端的对象 。 accept(); //4.然后读取相应的数据 public static void main(String[] args) throws Exception { //创建服务器端的套接字 ServerSocket ss = new ServerSocket(10010); Socket s = ss.accept();//获取客服端的套接字 //获取客服端的ip地址 String ip = s.getInetAddress().getHostAddress(); System.out.println(ip+"链接中................"); //获取输入字节流 InputStream input = s.getInputStream(); byte[] buf = new byte[1024]; //读取数据 int i=input.read(buf); System.out.println(new String(buf,0,i)); //关闭连接 s.close(); ss.close(); } }