/*
TCP传输:客户端和服务端
Socket:实现客户端的套接字,可以构造空、地址和端口的,通过api发现,该对象建立时就要指定主机,因为tcp面向连接,所以
在建立Socket服务时,就要有服务端的额存在,并连接成功,形成通路。
步骤:
1、建立Socket服务,并指定主机和端口。
ServerSocket:
*/
import java.io.*;
import java.net.*;
import java.lang.Exception;
class TcpClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("122.88.30.178",10001);
OutputStream os = s.getOutputStream();
os.write("tcp start".getBytes());
}
}
/*
服务器端:
1、创建服务器端socket服务,并监听一个端口、ServerSocket
2、获取连接过来的客户端对象。accept()方法时阻塞式
3、客户端如果发来数据,那么服务器端要使用客户端对象的对象,并获取该客户端对象的读取流操作。
4、关闭服务器(一般不关闭)
*/
class TcpServer
{
public static void main(String[] args) throws Exception
{
// 创建服务端socket服务
ServerSocket ss = new ServerSocket(10001);
//获取客户端的对象
Socket s = ss.accept();
//获取客户端发送的数据,使用客户端对象获取流
InputStream in = s.getInputStream();
byte [] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "connected");
}
}
class TcpDemo
{
public static void main(String[] args)
{
}
}