業務でサーバ通信のテストが必要だったので、javascriptでサーバを立ててみた。
通信できれば良かったので、返却値とかは特に考慮していないので、返却する値等は調整してもらえればと。。。
TCP用とUDP用の2種類を作ってみました。
ちなみにNode.jsが必要です。
TCP通信でHello World!を返却するだけのサーバ
const http = require(‘http’);
const server = http.createServer((request, response) => {
response.writeHead(200, { ‘Content-Type’: ‘text/html’ });
response.end(‘Hello World!’);
});
server.listen(8080);
httpをrequireして8080ポートでアクセスできるサーバを作成しました。
これはTCP通信での接続ができると思っています。
返却値は特に何も考えずHello World。
ホストも指定してTCP通信をする
const net = require(‘net’);
const server = net.createServer(socket => {
socket.on(‘data’, data => {
console.log(Hello World!);
socket.write(‘Hello World!’);
});
}).listen({host: “127.0.0.1”, port: 8080});
1つ目のサンプルでもホストを渡す方法があるような気がするが、
ちょっと悩んでしまったので、この方法で書き直してみた。
UDP通信でアクセスしたい場合
const dgram = require(‘dgram’);
const PORT_A = 8080;
const HOST_A = ‘127.0.0.1’;
const socket = dgram.createSocket(‘udp4’); socket.on(‘listening’, () => {
const address = socket.address();
});
socket.on(‘message’, (message, remote) => {
console.log(‘Hello World!’);
});
socket.bind(PORT_A, HOST_A);
dgramをrequireしてUDPでアクセスできるように作成