面向网络编程---单层交互:
客户端说明:
- /*
- * 实现TCP客户端,链接到服务器
- * 和服务器实现数据交互
- * 实现TCP客户端的类 java.net.Scoket
- * 构造方法:
- * Socket sco = new Sockte( String ip ,int 端口号);
- * 注意:这个构造方法只要运行就会去查找 服务器 如果链接失败 就会抛出异常
- * OutputStream getOutputStream() 这个方法是返回套接字的输出流
- * 注意:这个输出流 是将数据 输出服务器
- * InputStream getInputStream(); 这个方法 返回 套接字的输入流
- * 注意: 这个输入流 从服务器中读取数据
- *
- * 如果要实现 客户端与服务器端的交互 必须有使用Socket套接字的 流 自己实例化的流不可以!!!
- *
- * */
客户端代码:
- public static void main(String[] args) throws Exception {
- //创建Socket 对象 链接服务器
- Socket socket = new Socket("127.0.0.1", 8888);
- //通过套接字 对象Socket 获取 输出流 将 数据写入服务器
- OutputStream out = socket.getOutputStream();
- //向服务器写入数据
- out.write("咕咕咕-买了否冷".getBytes());
- //关闭数据
- //socket.close();
- socket.shutdownOutput();
-
- }
服务器说明:
- /*
- * 实现TCP服务器程序
- * 表示服务器程序的类 java.net.ServerSocket
- * 构造方法:
- * ServerSocket(int 端口);
- * **必须要获得客户端的套接字对象 Socket
- * Socket socket = server.accept();
- * */
服务器代码:
- public static void main(String[] args) throws Exception{
- //创建ServerSocket 对象
- ServerSocket server = new ServerSocket(8888);
- //调用服务器套接字 对象 中的方法accept();
- Socket socket = server.accept();
- try {
- InputStream in = socket.getInputStream();
- int len = 0;
- byte[] bytes = new byte[1024];
- while((len = in.read(bytes)) != -1){
- System.out.println(new String(bytes, 0, len));
- }
- } catch (Exception e) {
- throw new RasterFormatException("从服务器读取发生异常-原因 服务器可能关闭了流对象");
- }
-
-
- }
相关文章:
-
2021-09-26
-
2021-09-24
-
2021-12-02
-
2021-12-29
-
2022-12-23
-
2021-12-25
-
2021-06-12
-
2021-07-25
猜你喜欢
-
2021-11-01
-
2021-12-18
-
2022-02-26
-
2022-12-23
-
2022-02-02
相关资源
-
下载
2023-02-24
-
下载
2021-06-24
-
下载
2021-06-06