/*

* 演示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));
}


}