如何海外网站建设,怎么关闭seo综合查询,崇礼网站建设,域名申请步骤要在同一台电脑上实现网页#xff08;前端#xff09;与 EXE 程序#xff08;后端#xff09;通过 UDP 通信#xff0c;可以使用以下步骤。前端可以使用 JavaScript 通过 WebSocket 与自定义服务器进行通信#xff0c;该服务器通过 UDP 发送和接收数据#xff0c;再与 E…要在同一台电脑上实现网页前端与 EXE 程序后端通过 UDP 通信可以使用以下步骤。前端可以使用 JavaScript 通过 WebSocket 与自定义服务器进行通信该服务器通过 UDP 发送和接收数据再与 EXE 程序进行交互。由于浏览器本身不直接支持 UDP 通信我们需要一个中间层来处理 UDP 数据传输。
以下是一个简单的示例包括前端和后端代码。
前端网页
我们将使用 WebSocket 来与自定义服务器通信。
!DOCTYPE html
html langen
head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleUDP Communication/title
/head
body h1UDP Communication with EXE/h1 input typetext idmessage placeholderEnter message button onclicksendMessage()Send Message/button p idresponse/p script const ws new WebSocket(ws://localhost:8080); ws.onopen function(event) { console.log(WebSocket is open now.); }; ws.onmessage function(event) { document.getElementById(response).innerText Received from EXE: event.data; }; ws.onclose function(event) { console.log(WebSocket is closed now.); }; function sendMessage() { const message document.getElementById(message).value; ws.send(message); } /script
/body
/html
后端Node.js 自定义服务器
我们将使用 Node.js 创建一个 WebSocket 服务器并使用 dgram 模块进行 UDP 通信。 1.安装 Node.js 和必要的模块。
//cmd
npm install ws
2.创建 WebSocket 服务器与 UDP 客户端。
//javascriptconst WebSocket require(ws);
const dgram require(dgram);
const server new WebSocket.Server({ port: 8080 }); const udpClient dgram.createSocket(udp4); // UDP 服务器地址和端口
const udpServerAddress 127.0.0.1;
const udpServerPort 41234; udpClient.on(message, (msg, rinfo) { console.log(UDP Message from ${rinfo.address}:${rinfo.port} - ${msg}); // 将从 EXE 程序接收到的消息通过 WebSocket 发送给网页 server.clients.forEach(client { if (client.readyState WebSocket.OPEN) { client.send(msg); } });
}); udpClient.on(listening, () { const address udpClient.address(); console.log(UDP Client listening on ${address.address}:${address.port});
}); udpClient.bind(41235); // UDP 客户端端口 server.on(connection, (ws) { console.log(New client connected); ws.on(message, (message) { console.log(Received message ${message}); // 将从网页接收到的消息通过 UDP 发送给 EXE 程序 const buf Buffer.from(message); udpClient.send(buf, 0, buf.length, udpServerPort, udpServerAddress, (err) { if (err) { console.error(err); ws.close(); } else { console.log(UDP message sent); } }); }); ws.on(close, () { console.log(Client has disconnected); });
}); console.log(WebSocket server is running on ws://localhost:8080);
详细参见使用 Node.js 创建一个 WebSocket 服务器-CSDN博客 EXE 程序C# 示例
以下是一个简单的 C# UDP 服务器示例用于接收和发送 UDP 数据。
创建一个新的 C# 控制台应用程序。使用以下代码
//c#using System;
using System.Net;
using System.Net.Sockets;
using System.Text; class UdpServer
{ static void Main() { UdpClient udpListener new UdpClient(41234); IPEndPoint groupEP new IPEndPoint(IPAddress.Any, 41234); try { while (true) { Console.WriteLine(Waiting for a connection...); byte[] bytes udpListener.Receive(ref groupEP); string receivedData Encoding.ASCII.GetString(bytes, 0, bytes.Length); Console.WriteLine($Received: {receivedData} from {groupEP}); // 处理接收到的数据并发送响应 string response Hello from EXE; byte[] sendBytes Encoding.ASCII.GetBytes(response); udpListener.Send(sendBytes, sendBytes.Length, groupEP); } } catch (Exception e) { Console.WriteLine(e.ToString()); } finally { udpListener.Close(); } }
} 运行步骤
启动 C# UDP 服务器。启动 Node.js WebSocket 服务器。打开网页并发送消息。
这样网页上的消息会通过 WebSocket 发送到 Node.js 服务器Node.js 服务器再通过 UDP 发送到 C# EXE 程序。C# EXE 程序处理完消息后可以通过 UDP 发送响应Node.js 服务器再通过 WebSocket 将响应发送到网页。