https://github.com/hifizz/node-examples
https://github.com/hifizz/node-examples
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hifizz/node-examples
- Owner: hifizz
- Created: 2022-11-08T04:51:57.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-08T05:12:16.000Z (over 2 years ago)
- Last Synced: 2025-01-22T12:29:29.834Z (4 months ago)
- Language: JavaScript
- Size: 2.43 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Nodejs Socket demo
Node.js socket 其实非常简单,只需要用 `net.createServer` 即可创建一个 Socket 服务端,并开始监听。只需要短短几十行代码,即可实现socket的连接。

**server.js**
```js
const net = require("net");const port = 1234;
const server = net
/** 创建 socket 服务端 */
.createServer(function (socket) {
console.log(
"Info: connect -> " + socket.remoteAddress + ":" + socket.remotePort
);socket.setEncoding("binary");
/** 监听 data 事件,接收数据 */
socket.on("data", function (data) {
console.log("Client send: " + data);
});socket.write("Pong! Hello, I am Wangxiaobo.");
socket.on("error", function (exception) {
console.log("socket error:" + exception);
socket.end();
});/** 客户端关闭事件 */
socket.on("close", function (data) {
console.log("client closed!");
});
})
.listen(port);server.on("listening", function () {
console.log("server listening: " + server.address().port);
});server.on("error", function (exception) {
console.log("server error:" + exception);
});
```**client.js**
```js
const net = require('net');
const port = 1234;
const host = '127.0.0.1';/** 创建 socket 客户端 */
const client = new net.Socket();
/** 设置成 server 一致的编码格式 */
client.setEncoding('binary');/** 使用 connect 方法链接服务端,必须要保证端口、编码格式一致 */
client.connect(port, host, function () {
/** 向服务端发送数据 */
client.write('Ping! Hello, Liyinghe.');
});client.on('data', function (data) {
console.log('Server send:',data);
});client.on('error', function (error) {
console.log('error:' + error);
/** 通过 destory 方法关闭连接 */
client.destory();
});client.on('close', function () {
/** 关闭连接 */
console.log('Connection closed');
});```