Java Socket应用
来源:互联网 发布:淘宝卖家等级哪里看 编辑:程序博客网 时间:2024/06/06 14:00
服务端过程
- 创建
ServerSocket
对象,绑定监听端口 - 通过
accept()
方法监听客户端请求 - 连接建立后,通过输入流读取客户端发送的请求信息
- 通过输出流向客户端发送响应信息
- 关闭相关资源
服务端的代码为:
public class Server { public static void main(String[] args) { try { //1.创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口 ServerSocket serverSocket = new ServerSocket(6666); //2.调用accept()方法开始监听,等待客户端的连接 System.out.println("***服务器即将启动,等待客户端的连接***"); Socket socket = serverSocket.accept(); //3.获取输入流,并读取客户端信息 InputStream is = socket.getInputStream();//字节输入流 //将字节流转化为字符流 InputStreamReader isr = new InputStreamReader(is); //为输入流添加缓冲 BufferedReader br = new BufferedReader(isr); String info = null; //循环读取客户端的信息 while((info = br.readLine())!=null){ System.out.println("我是服务器,客户端说:" + info); } socket.shutdownInput();//关闭输入流 //4.获取输出流,响应客户端的请求 //其实服务端响应的步骤和客户端发送数据的过程类似 OutputStream os = socket.getOutputStream(); //包装为打印流 PrintWriter pw = new PrintWriter(os); pw.write("Welcome!"); pw.flush(); //5.关闭相关资源 pw.close(); os.close(); br.close(); isr.close(); is.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } }}
客户端过程
- 创建
Socket
对象,指明需要连接的服务器的地址和端口号 - 建立连接后,通过输出流向服务器端发送请求信息
- 通过输入流获取服务器响应的信息
- 关闭相关资源
客户端代码为:
public class Client { public static void main(String[] args) { try { //1.创建客户端Socket,制定服务器地址和端口 Socket socket = new Socket("127.0.0.1",6666); //2.获取输出流,向服务器端发送登录信息 OutputStream os = socket.getOutputStream();//字节输出流 PrintWriter pw = new PrintWriter(os);//将输出流包装为打印流 pw.write("Username:admin; password:12345"); pw.flush(); //关闭输出流 socket.shutdownOutput(); //3.获取输入流,并读取服务器端的响应信息 InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String info = null; //循环读取客户端的信息 while((info = br.readLine())!=null){ System.out.println("我是客户端,服务器说:" + info); } //4.关闭其他资源 br.close(); is.close(); pw.close(); os.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } }}
先运行Server.java
,显示如下:
再运行Client.java
,显示如下:
此时再回到Server.java
可以看到如下的效果图:
0 0
- Java Socket 应用例子
- java中Socket应用
- java中Socket应用
- Java Socket应用编程
- java中Socket应用
- java中Socket应用
- Java Socket应用
- Java Socket应用
- Java Socket应用
- Java Socket应用(一)
- Java Socket应用
- Java Socket应用
- Java Socket应用
- Java Socket应用(一)--Socket通信
- JAVA应用socket传输文件
- java中的socket应用详解
- Java Socket应用 通信技术
- Java成长记 Socket应用
- 使用CocoaPods时遇到pod setup失败的解决办法(2016.8.12更新)
- 获取屏幕相关信息
- Vim编辑器与Shell脚本
- 《Java in Action》-1 第4章 引入流
- 在pydev安装完成后在eclipse不显示的问题
- Java Socket应用
- FFMPEG安装后没有ffplayer等一系列SDL安装问题解决
- OpenStack Mitaka 包安装日志
- 判断网络连接
- 鸡汤_如何做好一个产品
- Hadoop(16) MR 倒排索引
- 33. 深入解析互联网协议的原理
- OpenLayers中WFS服务与HetMap
- ACM之旅起航