实现服务端与浏览器的通信

JavaScript实现局域网双向通信(附完整源码) 阅读详情

//服务端

package com.mlt.d10_socket6.d9_socket5;

import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.*;


public class ServerDemo01 {
    private static ExecutorService pool= new ThreadPoolExecutor(3,5,6, TimeUnit.SECONDS,
            new ArrayBlockingQueue<>(2), Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());
    public static void main(String[] args) throws Exception {

        try {
            System.out.println("=====服务端======");
            //1.注册端口
            ServerSocket serverSocket = new ServerSocket(8888);
            while (true) {
                //2.调用acceapt方法,等待接收客户端的Socket连接请求,建立连接
                Socket socket = serverSocket.accept();
                //存入
               pool.execute(new ServerReadeRunnable(socket));

            }
        } catch ( Exception e) {
            e.printStackTrace();
        }

    }
}

//实现任务 

package com.mlt.d10_socket6.d9_socket5;

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

public class ServerReadeRunnable implements Runnable{
    private Socket socket;
    Scanner sc = new Scanner(System.in);
    public ServerReadeRunnable(Socket socket){
        this.socket=socket;
    }
    @Override
    public void run() {
        try {
            //3.从socket的通信管道得到字节输入流
            InputStream is = new FileInputStream("D:\\daima\\javaSEtall\\d\\net-app\\src\\-3bec7f4d3dbd4bda.jpg");
            OutputStream os = new FileOutputStream("D:\\d.jpg");
            byte[] buffer = new byte[1024];
            int len;
            while ((len= is.read(buffer))!=-1){
                System.out.println( new String(buffer,0,len));
                os.write(buffer);
            }
          PrintStream ps = new PrintStream(socket.getOutputStream());
          ps.println("HTTP/1.1 200 OK");
          ps.println("Content-Type:text/html;charset=UTF-8");
          ps.println();
          ps.println("<span style='color:red;font-size:100px'>王陶鲁你真帅</span>");
            ps.println("<br />");
            ps.println("<h1>帅哥调查表</h1>");
            ps.println("姓名:<input type='text' />");
            ps.println("<br />");
            ps.println("颜值:<input type='text' />");
            ps.println("<br />");
            ps.println("电话号:<input type='text' />");
            ps.println("<br />");
            ps.println("妹妹追求数:<input type='text' />");
            ps.println("<br />");
            ps.println("<button>提交</button>");
            ps.println("<button>取消</button>");
          ps.close();
        } catch (Exception e) {
            System.out.println(socket.getRemoteSocketAddress()+"下线了!!!");
        }
    }

}

yanshee 机器人全流程指南 2.点击yanshee app右上角根据提示操作 3.当手机显示成功连接 ,按下机器人胸前按钮说出“ip地址”4.根据机器人播报的ip地址加上:8888使用浏览器访问,你就会看到 jupyterd的界面,里面可以新建文件也可以改他存在的文件。我们使了yanshee机器人,这个是面向K12、中高职、高校学生推出的开源人形机器人教育平台,应用于课程教学、竞赛、科研活动等场景。我们接下来可以根据这些apl做许多好玩的,比如控制他运动,跳舞唱歌,it`s easy。注意电脑,手机,机器人必须连同一个网。 阅读详情

相关推荐

云计算虚拟化实验(一)——虚拟机软件VMware的安装以及虚拟机系统的安装(Windows7+CentOS7)

主要内容: 1、虚拟机软件的安装(以VMware为例) 2、虚拟机系统的安装(Window7 + CentOS7) 3、虚拟主机网络互访 4、不同局域网内的虚拟主机互访(软路由——海蜘蛛) 0 ——首先介绍一下什么是虚拟化? 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在

gg_asd的博客 1万+

JavaWeb浏览器和服务器交互的流程梳理

一,浏览器发送请求给webserver服务器 二、webserver服务器 1、解析请求行 parseRequestLine();解析消息头parseHeaders(); 解析消息正文parseContent();新建HttpServletRequest类 2、处理请求:新建DIspatcherServlet 3、发送响应:新建HttpServletResponse类:发送状态行sendStatusLine();发送响应头sendHeaders();发送响应正文sendContent();...

m0_69949258的博客 898

INMP441麦克风与ESP32的I2S音频采集实战指南

本文提供了INMP441数字麦克风与ESP32开发板通过I2S接口进行高质量音频采集的完整实战指南。详细讲解了硬件连接、软件配置、数据读取及基础处理,并分享了常见的避坑技巧与性能优化建议,帮助开发者快速构建物联网音频应用。

weixin_28396629的博客 599

JavaWeb——后台与浏览器的简单交互

JavaWeb——后台与浏览器的简单交互

涛涛的个人博客 1038

SAP FICO 资产会计AA后台配置 (上)

输入折旧表“CZ11”如有外币计价的资产,则需指定外币计价的资产折旧范围,以及规则。因为在设置资产类型时,需指定一个对应的 资产编号范围、资产账户确定类型(便于分配自动会计科目)、屏幕格式规则(便于设置资产字段必填与否)。因为在设置资产类型时,需指定一个对应的 资产编号范围、资产账户确定类型(便于分配自动会计科目)、屏幕格式规则(便于设置资产字段必填与否)。新增资产类型:Z101 固定资产-房屋及建筑物新增资产类型:Z301 固定资产-房屋及建筑物。

ghgxm520的博客 1762

【全网最全最详细】智能体提示词prompt教程

定义:提示词是用户输入给AI模型(如ChatGPT、MidJourney等)的指令或问题,用于引导模型生成特定类型的输出。它是用户与AI交互的核心媒介。作用:提示词的质量直接影响AI输出的准确性和相关性。好的提示词能明确任务边界、减少歧义,并激发模型的创造力。提示词就是“给AI下指令的说明书”——越清楚、越具体,AI干得越好!帮你更快、更准地拿到想要的结果,不用和AI“猜谜语”。

qq_38196449的博客 8232

浏览器窗口通信的多种方式

» 介绍 WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通讯的协议,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 用 nodejs 简单的搭建 websocket 服务实现多页面通信,效果如下: » nodejs搭建websocket服务 新建文件夹 websocket 执行 npm init -y 初始化项目 执行 npm i ws 安装 ws 依赖 新建 server.js 文件 执行 node server.js 启动服

qsya的博客 2121

将Matlab程序打包成.exe独立可执行程序

将Matlab程序打包成.exe独立可执行程序,在未安装Matlab的电脑上也能运行Matlab程序。

简简单单的学习笔记,致力于帮助更多前进路上的朋友~ 5万+

[java] 自定义web浏览器客户端和服务器通讯原理-Socket-ServerSocket

客户端服务器通讯原理自定义web浏览器客户端:自定义本地服务器:操作流程:总结:自定义命令行界面的IE浏览器:浏览器get和post两种提交方式的区别: 自定义web浏览器客户端: 我们自定义一个注册表单页面: 源代码: <form action="http://192.168.43.237:9090" method="post"> <table border="2" bor...

STILLxjy 731

逆向工程实战:解密AppleAccount的X-MMe-Nas-Qualify签名生成机制

本文通过逆向工程实战,详细解析了AppleAccount服务中X-MMe-Nas-Qualify签名的生成机制。作者利用Frida进行动态追踪定位签名源头,结合IDA Pro进行静态分析,并借助LLDB动态调试还原核心算法。文章最终分享了如何独立于苹果官方库,通过Python代码复现签名算法,为自动化测试和深度交互苹果服务的开发者提供了关键技术路径。

weixin_29323049的博客 709

【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅰ——理论,实验拓扑和安装基于RemoteAPP的RDS

博客介绍了Windows Server中远程桌面服务的理论,实验拓扑以及基于RemoteAPP的RDS安装。博文介绍了如何在Windows Server上部署发布服务器。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 6130

浏览器请求到本机服务端实现本机调试Web

背景:在我们平时进行Web后端开发时,经常遇到一些页面请求数据异常或交互错误的问题,这时候我们一般可以通过抓包浏览器请求到Postman中进行本机调试,但当我们的交互逻辑涉及到很多页面和接口时,一个个抓包调试非常费时费力,造数据也非常麻烦,非常影响调试效率,这时候如果Web前端可以配合我们进行本机联调还好一些,但别人有时候还有自己的项目需要开发,不能一直陪着你进行调试。但是通过本文的以下方法就可以解决这个痛点。

isFuong的博客 1373

mapbox 从入门到精通 - 目录

欢迎大家来到gis分享者的《mapbox 从入门到精通》专栏。博主列出学习大纲,如果有什么问题,欢迎留言。

我哎GIS博客 5853

使用websocket实现浏览器与服务端进行双向通信(Vue springboot)

一、websocket介绍 通常服务端想主动给前端推送信息的话,需要使用轮询技术,即在特定的时间间隔(比如每1秒),浏览器通过调用服务端的接口向服务端发送http请求,服务端将最新的数据发送给浏览器。这种方式在性能上有明显的缺点,即浏览器需要不断向服务器发送请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然会浪费很多的宽带资源。 而HTML5的websock...

FloraCat_染小白 2636

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何使用Undici实现浏览器与服务端的高效gRPC-Web通信:完整指南

Undici是Node.js生态中一款高性能的HTTP/1.1客户端,专为现代Web应用设计。本指南将详细介绍如何结合Undici与gRPC-Web技术栈,构建浏览器与服务端之间的高效通信桥梁,帮助开发者轻松实现低延迟、高吞吐量的数据交互。 ## 为什么选择Undici作为gRPC-Web客户端? gRPC-Web作为gRPC的浏览器兼容实现,需要通过HTTP/1.1网关进行通信。Undici

gitblog_00162的博客 469

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SSE 服务端消息推送

SSE 它是基于 HTTP 协议的,一般意义上的 HTTP 协议是无法做到服务端主动向客户端推送消息的。有一种变通方法,就是服务器向客户端声明,发送的是流信息,本质上,这种通信就是以流信息的方式。SSE 具有 WebSockets 在设计上缺乏的多种功能,例如:自动重新连接、事件 ID 和发送任意事件的能力。// 监听窗口关闭事件,主动去关闭sse连接,如果服务端设置永不过期,浏览器关闭后手动清理服务端数据。注:SSE 是基于 HTTP 协议,目前除了 IE/Edge,其他浏览器都支持。

默存 3647

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Netty框架入门学习--客户端与服务端实现通信

Netty框架入门学习–第一个Netty程序 hello world 这篇博客当时是直接用浏览器当做客户端来直接请求我们写的一个简易的netty服务端,服务端返回一个hello world给客户端。 现在,通过netty写一个客户端和服务端来实现一个简易的客户端和服务端的通信。 需求很简单,客户端向服务端发送当前时间,服务端向客户端发送一个UUID。 服务端实现 新建MyServer....

return 1107

利用webSocket实现浏览器中多个标签页之间的通信

webSoket用来实现双向通信,客户端和服务端实时通信。 webSoket优点和缺点?     优点:对于前端来说,使用简单,功能灵活,如果部署了webSocket服务器,可以实现实时通信。     缺点:需要服务端技术的支持,如果websocket数据量比较大的话,会严重消耗服务器的资源。 例子: 01 websocket服务器端搭建 //初始化一个node项...

aweo960421621的博客 4085

WebSocket 通信 —— 浏览器原生支持

本篇内容依然是围绕在线聊天通信的内容,上一篇内容通过是Node中的Socket实现通信,那么本篇是通过浏览器原生的WebSocket来实现通信的,对实现在线聊天线上通信的读者感兴趣的话可以翻阅一下。

灵魂学者的博客 1870

WebSocket学习

一、简介 WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。 这种通信模型有一个弊端:HTTP 协议无法实现服务器主动向客户端发起消息。 这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数 Web 应用程序将通过频繁的异

weixin_49107940的博客 1003

鸿蒙WebSocket实现双向通信 连接python编写的本地服务端

5)接下来我们要运行python文件开启服务器。我们在终端命令行,cd到python文件的根目录。然后安装websockets库,我这里已经安装就不敲回车了。1)我们要编写text.py、client.html文件,和创建一个 WebSocket鸿蒙项目。6)注意这种安装方法有可能会因为超时报错。8)接下来我们在浏览器打开网页和运行鸿蒙模拟器,就可以实现双向通信了!3)接下来我们写client.html(网页)2)首先是text.py,可以直接复制粘贴。7)安装好了以后我们直接运行文件。

2501_91005316的博客 311

Websocket定时推送消息到浏览器端

WebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。 这里介绍使用Quartz的调度功能和WebSock在服务端向浏览器端推送消息

weixin_35654814的博客 2910

[C#] WebSocket 客户端+服务端 轻松实现

[C#] WebSocket 客户端+服务端 轻松实现 wabil 资料转自:http://www.cnblogs.com/zhuweisky/p/3930780.html 技术原理: https://www.zhihu.com/question/20215561  随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信。如下图所示:    一.对..

cxu123321的博客 9855

Spring-mvc+SockJS实现即时通讯教程,并提供各种浏览器版本的支持

Spring-mvc+SockJS开发教程,并提供不支持WebSocket浏览器访问出现问题的解决方案

qq756161569的博客 6174

RPC远程调用浏览器函数

愧怍正在上传…重新上传取消​ 2021年10月09日阅读 1·编辑 RPC远程调用浏览器函数审核中 原文地址:RPC远程调用浏览器函数 - 愧怍的小站 (kuizuo.cn) 早闻 RPC(Remote Procedure Call)远程过程调用,这一词了,应该是在安卓逆向的时候听闻的,当时吹嘘的意思是这样的,通过另一个远端服务器来调用安卓代码中的函数,并将执行后的结果返回。比如有一个加密算法,如果要实现脱机(脱离当前环境)运行的话,就需要扣除相对应的代码,补齐对应的环境(模块,上下......

kuizuo12的博客 1454

autojs客户端与服务端通信

两种方式:socket和websocket。具体区别我也没有深入了解,我只要能搞出来就可以。 不过用起来的区别恐怕就是websocket必须得有浏览器,我看到的多数的例子是这样的。 websocket是使用koa做后端中转的。 websocket参考地址:https://www.jianshu.com/p/9655517dde79 先启动后端然后打开html测试通讯效果,然后再启动auto的脚本监听地址就可以了。 socket是引入了java的类来启动socket的,前端用了node的net包 socket

weixin_44978432的博客 7671
上一篇: 汽车租赁系统(对象+集合)
下一篇: 如何使用mybatis连接数据库及曾删改查的操作(基于maven开发)
有你是我的福气Love
博客等级 码龄4年 40粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值