就是一个客服端(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();
}
}
04-27 05:22