Java入门13(socket)

打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

Socket编程(网络通信)

服务器端Demo(ServreSocket)

​        创建服务端时,如果不提供IP地址,则默认为本地连接(127.0.0.1),但是一定需要手动配置监听端口!
  1. public static void main(String[] args) {
  2.     // 如果不提供IP地址,默认localhost
  3.     // 但是服务器端的端口号需要手动指令
  4.     try(ServerSocket serverSocket = new ServerSocket(10086);
  5.         // 服务器端会一直阻塞在这个位置,等待客户端接入,客户端会在向服务器端发送请求的时候,会将客户端本身(socket对象)发送过来
  6.         Socket s = serverSocket.accept()) {
  7.         System.out.println("服务器正在监听:");
  8.         // 从客户端获取对应的输入流
  9.         InputStream inputStream = s.getInputStream();
  10.         // 将输入流进行二次封装,封装为数据流
  11.         DataInputStream dis = new DataInputStream(inputStream);
  12.         // 使用数据流的方法读取字符串
  13.         String str = dis.readUTF();
  14.         System.out.println(str);
  15.         // 关闭流
  16.         dis.close();
  17.     } catch (IOException e) {
  18.         throw new RuntimeException(e);
  19.     }
  20. }
复制代码
客户端Demo(Socket)

​        创建客户端时,客户对象的端口由操作系统自动分配,参数传递服务端的IP地址以及服务器监听的端口
  1. public static void main(String[] args) {
  2.     try(Socket s = new Socket("localhost",10086);
  3.         // 提供一个输出流,用于写入数据
  4.         OutputStream os = s.getOutputStream();
  5.         // 二次封装
  6.         DataOutputStream dos = new DataOutputStream(os)) {
  7.         dos.writeUTF("Can you hear me?");
  8.     } catch (IOException e) {
  9.         throw new RuntimeException(e);
  10.     }
  11. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表