黑马程序员----java基础-----网络编程(TCP传输)

时间:2023-02-21 19:01:56

  黑马程序员----java基础-----网络编程(TCP传输)
------- android培训、java培训、期待与您交流! ----------
 演示tcp传输。
 1tcp分客户端和服务端。
 2.客户端对应的对象是Socket.
 服务端对应的对象是ServerSocket.
 /*/***
/*/**
 客户端
 通过socket对象,发现在该对象建立时,就可以去连接指定主机。
 因为top是面向连接的,并连接成功,形成通路时,在该通路进行数据传输。
/*/**步骤
1.创建Socket服务,并指定要连接主机的端口。
import java.io.*;
inport java.net.*;

 Class TcpClient{
 public static void main(String[] args)
 {
 //创建客户端的socket服务,指定目的主机和端口
       Socket s=new Socket("192.168.1.254",10003);
 //为发送数据,应该获得 socket流中的输出流。
 OutputStream out=s.getoutputStream();
 out.write("top ge men lai le".gerBytes());
 s.close();
 }
定义,定义端点接收数据并打印在控制台上。
服务端:
1.建立服务端的socket服务,ServerSocket();
并监听、一个端口。
2.获取链接过来的客户端对象。
通过ServerSokcet的accept方法,没有连接就会等,所以这个方法阻塞式的。
3客户端如果发过来数据,那么服务端使用对应的客户端对象,并获取到该客户的读取流来的数据,并打印在控制台。
4.关闭服务端.
 Class TcpServer {
 public static void main(String[] args)
 {
 //建立服务端socket服务,并监听一个端口。
 ServerSocket ss=new ServerSocket(10003);
 //通过accept方法获取链接过来的客户端对象。
 Socket s =ss.accept();
 String ip=s.getInetAddress().getHostAddress();
 System.out.println(ip+"*****connected");
 //获取客户端发送过来的数据,那么要使用客户端对象的读取流来读取数据。
 Inputstream in=s.getInputstream();
 byrte[]buf=new byte[1024];
 lint len=in.read(buf);
 System.out.println(new String(buf,0,len));
 s.close();//关闭客户端
 ss.close();
 }

 

 

 }