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

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,6 +3,7 @@
3 3
  "version": "0.0.0-alpha",
4 4
  "description": "a simple web-chat using websocket",
5 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,7 +58,7 @@
58 58
59 59
			function loadHistory() {
60 60
				var xhr = new XMLHttpRequest();
61
				xhr.open('GET', location.href + "/../msgs.json");
61
				xhr.open('GET', "msgs");
62 62
				xhr.onreadystatechange = function() {
63 63
					if (xhr.readyState == XMLHttpRequest.DONE) {
64 64
						var msgs = JSON.parse(xhr.responseText);

+ 15 - 1
js/babl/server.js

@ -1,6 +1,17 @@
1 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 16
wss.broadcast = function(data) {
6 17
	var msg = typeof data === "string" ? data : JSON.stringify(data);
@ -35,3 +46,6 @@ function randomName() {
35 46
	}
36 47
	return name;
37 48
}
49
50
var port = parseInt(process.env.PORT || "8080");
51
server.listen(port);