首页 > 编程语言 >Java入门13(socket)

Java入门13(socket)

时间:2023-07-14 18:44:27浏览次数:45  
标签:13 Java socket 服务器端 dis IP地址 new 客户端 Socket

Socket编程(网络通信)

服务器端Demo(ServreSocket)

​ 创建服务端时,如果不提供IP地址,则默认为本地连接(127.0.0.1),但是一定需要手动配置监听端口!

public static void main(String[] args) {
    // 如果不提供IP地址,默认localhost
    // 但是服务器端的端口号需要手动指令
    try(ServerSocket serverSocket = new ServerSocket(10086);
        // 服务器端会一直阻塞在这个位置,等待客户端接入,客户端会在向服务器端发送请求的时候,会将客户端本身(socket对象)发送过来
        Socket s = serverSocket.accept()) {
        System.out.println("服务器正在监听:");
        // 从客户端获取对应的输入流
        InputStream inputStream = s.getInputStream();
        // 将输入流进行二次封装,封装为数据流
        DataInputStream dis = new DataInputStream(inputStream);
        // 使用数据流的方法读取字符串
        String str = dis.readUTF();
        System.out.println(str);
        // 关闭流
        dis.close();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

客户端Demo(Socket)

​ 创建客户端时,客户对象的端口由操作系统自动分配,参数传递服务端的IP地址以及服务器监听的端口

public static void main(String[] args) {
    try(Socket s = new Socket("localhost",10086);
        // 提供一个输出流,用于写入数据
        OutputStream os = s.getOutputStream();
        // 二次封装
        DataOutputStream dos = new DataOutputStream(os)) {
        dos.writeUTF("Can you hear me?");
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

标签:13,Java,socket,服务器端,dis,IP地址,new,客户端,Socket
From: https://www.cnblogs.com/te9uila/p/17554751.html

相关文章

  • java--String类的常用方法
    一、获取1、length()  获取字符串长度Stringstr="ahcckmvevawe";System.out.println(str.length());//输出122、charAt(intindex)  返回下标对应的字符Stringstr="ahcckmvevawe";System.out.println(str.charAt(4));//输出k3、indexOf()  返回字符对......
  • JavaWeb基础:安装tomcat和maven
    JavaWeb基础:安装tomcat和maventomcat闪退问题下载zip即可,无需配置,只需运行相关文件即可文档所在位置:D:\Environment\apache-tomcat-9.0.78\bin开启:startup.bat关闭:shutdown.batjava8不适用tamcat10及以上版本解决办法:https://blog.csdn.net/egegerhn/article/details/1260......
  • java 跨域
       ......
  • 13-数据库安全
    Mssql数据库mssql安全性概述:就是用来保护数据,可以决定哪些用户可以登录到服务器,用户可以对哪些数据库执行操作或管理任务等。他的安全体系结构顺序上可以分为“认证”“授权两个部分”,安全机制可以分为5个层级。客户端、网络传输,实例级别,数据库级别、对象级别五个层级安全机......
  • Vue3 webSocket收到消息改变响应式全局对象从而实时改变界面
    需求在main.js中创建一个 响应式全局对象。通过WebSocket收到消息改变这个全局对象时,子组件应同步响应。效果:这几个标签框绑定的全局对象json main.js定义 响应式全局对象//全局对象constglobalData=reactive({extTelMonitorData:[{title:......
  • JavaScript at() 方法
    数组对象:对于获取数组的最后一个元素,可能平常见得多的就是arr[arr.length-1],我们其实可以使用at()方法进行获取接收一个整数值并返回该索引对应的元素:constarr=[5,12,8,130,44];letindex1=2;strt1=`索引号为${index1}的值为${arr.at(index1)}`;letind......
  • 学习Java第2天
    ##快捷键Ctrl+c复制Ctrl+v粘贴Ctrl+z撤销Ctrl+a全选Ctrl+x剪切Ctrl+s保存Alt+f4关闭窗口Windows+e我的电脑Windows+r运行窗口Ctrl+shift+ESC任务管理器#打开CMD的方式1.开始+系统+命令提示符2.win健+r输入cmd打开控制台(推荐使用)3.在任意的文件夹......
  • 【javascript】关于文件下载
    通常在a标签href属性后加上请求下载文件的地址,页面点击即可下载,该种方式是交由浏览器去下载,但是无法监听下载进度若通过AJAX请求,则需要对其进行解析,通常将数据转为blob,然后模拟a标签点击事件,但是此方法如果文件过大,接口调用时超出ajax的timeout时长,会下载失败......
  • 【JavaScript】你真的熟悉bind吗
    引言内容速递看了本文您能了解到的知识!在本篇文章中,将带你了解什么是bind,bind的用途、如何手写bind以及工作中实际使用bind的场景。在JavaScript中,bind()方法是用来创建一个新函数,并将其绑定到指定的对象上,从而在调用该函数时确保函数中的this关键字指向绑定的对象。1、什......
  • 【JavaScript】js 处理复制函数实现
    exportconstcopyText=(text:string)=>{constinput=document.createElement('input');input.setAttribute('readonly','readonly');input.setAttribute('value',text);document.body.appendChild(input);......