Просмотр исходного кода

try serving http and ws from the same server.

Lucas Stadler лет назад: 11
Родитель
Сommit
6a0bd40c8b
3 измененных файлов с 18 добавлено и 3 удалено
  1. 2 1
      js/babl/package.json
  2. 1 1
      js/babl/index.html
  3. 15 1
      js/babl/server.js

+ 2 - 1
js/babl/package.json

3
  "version": "0.0.0-alpha",
3
  "version": "0.0.0-alpha",
4
  "description": "a simple web-chat using websocket",
4
  "description": "a simple web-chat using websocket",
5
  "dependencies": {
5
  "dependencies": {
6
    "ws": "0.4.31"
6
    "ws": "0.4.31",
7
    "express": "^3.5.1"
7
  }
8
  }
8
}
9
}

+ 1 - 1
js/babl/index.html

58
58
59
			function loadHistory() {
59
			function loadHistory() {
60
				var xhr = new XMLHttpRequest();
60
				var xhr = new XMLHttpRequest();
61
				xhr.open('GET', location.href + "/../msgs.json");
61
				xhr.open('GET', "msgs");
62
				xhr.onreadystatechange = function() {
62
				xhr.onreadystatechange = function() {
63
					if (xhr.readyState == XMLHttpRequest.DONE) {
63
					if (xhr.readyState == XMLHttpRequest.DONE) {
64
						var msgs = JSON.parse(xhr.responseText);
64
						var msgs = JSON.parse(xhr.responseText);

+ 15 - 1
js/babl/server.js

1
var ws = require('ws');
1
var ws = require('ws');
2
var http = require('http');
3
var express = require('express');
2
4
3
var wss = new ws.Server({port: 8080});
5
var app = express();
6
app.use(express.static(__dirname + "/public"));
7
8
var server = http.createServer(app);
9
10
app.get('/msgs', function(req, res) {
11
	res.sendfile('msgs.json');
12
});
13
14
var wss = new ws.Server({server: server});
4
15
5
wss.broadcast = function(data) {
16
wss.broadcast = function(data) {
6
	var msg = typeof data === "string" ? data : JSON.stringify(data);
17
	var msg = typeof data === "string" ? data : JSON.stringify(data);
35
	}
46
	}
36
	return name;
47
	return name;
37
}
48
}
49
50
var port = parseInt(process.env.PORT || "8080");
51
server.listen(port);