Nodejs实现的一个简单udp广播服务器、客户端
nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下:
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
server.on("error", function (err) {
console.log("server error:\n" + err.stack);
server.close();
});
server.on("message", function (msg, rinfo) {
console.log("server got: " + msg + " from " +
rinfo.address + ":" + rinfo.port);
});
server.on("listening", function () {
var address = server.address();
console.log("server listening " +
address.address + ":" + address.port);
});
server.bind(41234);
然后写个客户端程序,发送广播消息,代码如下:
var dgram = require("dgram");
var socket = dgram.createSocket("udp4");
socket.bind(function () {
socket.setBroadcast(true);
});
var message = new Buffer("Hi");
socket.send(message, 0, message.length, 41234, '255.255.255.255', function(err, bytes) {
socket.close();
});
这里需要注意的是socket.setBroadcast(true);必须在绑定socket成功后才能调用,否则会报Error: setBroadcast EBADF的错误。
客户端发送广播还是蛮简单的,设置好需要发送的数据和端口等信息就OK了。
相关推荐
-
Node.js dgram模块实现UDP通信示例代码
1.什么是UDP? 这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务.UDP协议使用端口号为不同的应用保留其各自的数据传输通道,这一点非常重要.与TCP相比,占用资源更少,传输速度更快. 2.了解UDP单播.广播和组播 单播:向一个单播地址发送UDP数据报时,数据报只能被指定的IP主机接收,同一子网下的其它主机都不会接收该数据报.单播过程(假设子网地址:192.168.10,该子网下有两台主机:192.168.10.2,192.168.10.3,向1
-
Nodejs实现的一个简单udp广播服务器、客户端
nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下: 复制代码 代码如下: var dgram = require("dgram"); var server = dgram.createSocket("udp4"); server.on("error", function (err) { console.log("server error:\n" + err.stack); server
-
使用express搭建一个简单的查询服务器的方法
本文介绍了使用express搭建一个简单的查询服务器的方法,分享给大家,具体如下: 使用到的技术栈有express.mysql. 项目结构: service --node_modules --app.js --query.js app.js支持调用服务,使用body-parser对request进行处理. query.js实现链接数据库以及查询数据库的功能. app.js代码如下: var express = require('express'); var query = require('./
-
Python探索之实现一个简单的HTTP服务器
Python标准库中的BaseHTTPServer模块实现了一个基础的HTTP服务器基类和HTTP请求处理类.这在文章python探索之BaseHTTPServer-实现Web服务器介绍中进行了相关的介绍.然而,BaseHTTPServer模块中并没有定义相关的请求方法,诸如GET.HEAD.POST等.在BaseHTTPServer模块的基础上,Python标准库中的SimpleHTTPServer模块实现了简单的GET.HEAD请求. 在该模块中,它沿用了BaseHTTPServer模块中实
-
java实现一个简单的Web服务器实例解析
Web服务器也称为超文本传输协议服务器,使用http与其客户端进行通信,基于java的web服务器会使用两个重要的类, java.net.Socket类和java.net.ServerSocket类,并基于发送http消息进行通信. 这个简单的Web服务器会有以下三个类: *HttpServer *Request *Response 应用程序的入口在HttpServer类中,main()方法创建一个HttpServer实例,然后调用其await()方法,顾名思义,await()方法会在指定端口上
-
C 语言实现一个简单的 web 服务器的原理解析
说到 web 服务器想必大多数人首先想到的协议是 http,那么 http 之下则是 tcp,本篇文章将通过 tcp 来实现一个简单的 web 服务器. 本篇文章将着重讲解如何实现,对于 http 与 tcp 的概念本篇将不过多讲解. 一.了解 Socket 及 web 服务工作原理 既然是基于 tcp 实现 web 服务器,很多学习 C 语言的小伙伴可能会很快的想到套接字 socket.socket 是一个较为抽象的通信进程,或者说是主机与主机进行信息交互的一种抽象.socket 可以将数据流
-
Python 实现一个简单的web服务器
import re import socket def service_cilent(new_socket): request = new_socket.recv(1024).decode("utf-8") # Python splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符. request_lines = request.splitlin
-
C# 利用VS编写一个简单的网游客户端
目录 一.测试连接服务器 二.设计客户端 三.运行效果 四.总结 一.测试连接服务器 1.打开cmd,输入ping 10.1.230.74 2.输入telnet,进入telnet界面 3.输入set localecho,打开本地回显: 4.连接服务器,输入命令open 10.1.230.74 3900 二.设计客户端 1.新建项目 打开VS2022选择新建Windows窗体应用 如果没找到,说明没有安装相应的配置,可以添加工具 选择 安装成功就能找到了. 2.设计界面 新建完成后,会直接来到Fo
-
nodejs实现的一个简单聊天室功能分享
今天我来实现一个简单的聊天室,后台用nodejs, 客户端与服务端通信用socket.io,这是一个比较成熟的websocket框架. 初始工作 1.安装express, 用这个来托管socket.io,以及静态页面,命令npm install express --save,--save可以使包添加到package.json文件里. 2.安装socket.io,命令npm install socket.io --save. 编写服务端代码 首先我们通过express来托管网站,并附加到socke
-
使用Node.js实现一个简单的FastCGI服务器实例
本文是我最近对Node.js学习过程中产生的一个想法,提出来和大家一起探讨. Node.js的HTTP服务器 使用Node.js可以非常容易的实现一个http服务,最简的例子如官方网站的示例: 复制代码 代码如下: var http = require('http');http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Wo
-
Python一个简单的通信程序(客户端 服务器)
功能是从客户端向服务发送一个字符串, 服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串 客户端: 10.248.27.23是我电脑的IP import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput destination IP:") # data = raw_input("Plz imput what you want to submit:&quo
随机推荐
- Flex 自定义DataGrid实现根据条目某一属性值改变背景颜色
- SQL Server 2008中SQL之WaitFor使用介绍
- 详细解密jsonp跨域请求
- mybatis原理概述入门教程
- Java instanceof用法详解及实例代码
- Oracle 多行记录合并/连接/聚合字符串的几种方法
- 微信小程序 引入es6 promise
- js取整数、取余数的方法
- mysql获取字符串长度函数(CHAR_LENGTH)
- mysql 10w级别的mysql数据插入
- linux系统oracle数据库出现ora12505问题的解决方法
- MS-SQL Server 中单引号的两种处理方法
- 详解Vuejs2.0之异步跨域请求
- Java中int与integer的区别(基本数据类型与引用数据类型)
- IIS6架设网站过程常见问题解决方法总结
- C#实现的简单链表类实例
- 基于Listener监听器生命周期(详解)
- C#清除WebBrowser中Cookie缓存的方法
- PHP 文件类型判断代码
- Python cookbook(数据结构与算法)实现优先级队列的方法示例