TCP简单例子
TCP传输需要利用Socket和ServerSocket来分别建立客户端和服务端
客户端:
通过查阅socket对象,发现在该对象建立时,就可以去连接指定主机。因为tcp是面向连接的,所以在建立socket服务时,就要有服务端存在,并连接成功,形成通路后,在该通道进行数据的传输。
步骤:
1、创建Scoket服务,并指定要连接的主机和端口;
2、获取socket流中的输出流;
class TcpClient { public static void main(String[] args) throws Exception { Socket s = new Socket("192.168.1.1", 10002); OutputStream out = s.getOutputStream(); out.write("服务端,你好".getBytes()); InputStream in = s.getInputStream(); byte[] buf = new byte[1024]; int len = in.read(buf); System.out.println(new String(buf, 0, len)); s.close(); } }
服务端:
1、通过ServerSocket建立服务端的socket服务,设置端口;
2、获取连接过来的客户端对象,通过ServerSokcet的accept方法;
3、客户端如果发送过来数据,那么服务端要使用对应的客户端对象,并获取客户端的输入流;
4、关闭服务端。(一般不关)
class TcpServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(10002); 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)); OutputStream out = s.getOutputStream(); out.write("哥们收到,你好".getBytes()); s.close(); } }