/*
  * 演示TCP传输
  * 1.分客户端对应对象Socket、服务端对应ServerSocket
  */
 //需求:给服务端发送一个文本数据
 /*步骤:
  * 1.创建Socket服务,并指定要连接的主机和端口
  * 
  * 
  */
 public class TcClient {
 public static void main(String[] args) throws UnknownHostException, IOException {
//创建客户端的socket服务,指定目的主机和端口
Socket s=new Socket("ip",10000);
OutputStream out=s.getOutputStream();//输出流
out.write("tcp come".getBytes());
s.close();
 }
}
//************************************************
import java.io.IOException;
 import java.io.InputStream;
 import java.net.ServerSocket;
 import java.net.Socket;
 /*
  * 需求:定义端点接收数据并打印在控制台
  * 服务端:
  * 1.建立服务端的socket服务,并监听一个端口
  * 2.获取连接过来的对象
  * 通过serverSocket的accept方法 ,没有连接就会等待,所以是
  * 阻塞式的
  * 3. 客户端如果发过来数据,那么服务端要使用对应的客户端对象
  * 并且获取客户端对象的读取流来读取数据
  * 4.关闭服务端(可选)
  */
 public class ServSocket {
 public static void main(String[] args) throws IOException {
ServerSocket   ss=new ServerSocket(10000);
Socket s=ss.accept();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip);
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
 }
 }