day23/TcpDemo.java
来源:互联网 发布:golang 随机数生成 编辑:程序博客网 时间:2024/06/05 04:38
/*演示TCP传输。1.TCP分客户端和服务端。2.客户端对应的对象是Socket 服务端对应的对象是ServerSocket还是为了方便阅读,将两个应用程序写在一个文件中。*//*客户端:通过查阅socket对象,发现在该对象建立时,就可以去连接指定主机。因为TCP是面向连接的,所以在建立socket服务时,就要有服务端存在,并连接成功。形成通路后,在该通道进行数据的传输。需求:给服务端发送一个文本数据。步骤:1.创建Socket服务,并指定要连接的主机和端口。*/import java.io.*;import java.net.*;class TcpClient {public static void main(String[] args) throws Exception{//创建客户端的socket服务。指定目的主机和端口Socket s = new Socket("192.168.1.100",10003);//为了发送数据,应该获取Socket流中的输出流。OutputStream out = s.getOutputStream();out.write("tcp client coming".getBytes());s.close();}}/*需求:定义端点接收数据并打印在控制台上。服务端:1.建立服务端的socket服务。ServerSocket并监听一个端口。2.获取连接过来的客户端对象。通过ServerSocket的accept方法。没有连接就会等待,所以这个方法是阻塞式的。3.客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据,并打印在控制台上。4.关闭服务端(可选)。*/class TcpServer{public static void main(String[] args) throws Exception{//建立服务端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();byte[] buf = new byte[1024];int len = in.read(buf);String data = new String(buf,0,len);System.out.println(data);s.close();//ss.close();//可选,如果关闭,那么服务端只提供一次服务。}}
0 0
- day23/TcpDemo.java
- TCPDemo
- JAVA-Socket-TcpDemo-Eclipse Jee Oxygen
- java学习day23
- java学习day23
- day23/ChatDemo.java
- day23/IPDemo.java
- day23/TcpCopyMp3.java
- day23/TcpCopyText.java
- day23/TcpDemo2.java
- day23/TcpTest.java
- day23/UdpDemo1.java
- day23/UdpDemo.java
- [Java视频笔记]day23
- day23
- day23
- day23
- Day23
- day23/TcpCopyText.java
- Box2D金字塔(继承的使用)
- day23/TcpDemo2.java
- 面试题:给定a、b字符串,判断b是否为a的变位词(scala版本)
- 华为Java机试题
- day23/TcpDemo.java
- Address already in use: JVM_Bind(端口冲突)
- 阅读《代码整洁之道》的总结
- day23/TcpTest.java
- 3&4=0;3|4=7;3^4=7;~3=-4
- 生成加权随机数
- day23/UdpDemo1.java
- object[] 转换成指定List<T>
- iOS面试要注意的问题