Sorry, i try to search from google and my clipboard is used word Apach when i Paste it on the forum.Heater wrote:You thread title says "nginx". Your question says "Apache"
Code: Select all
<!DOCTYPE html>
<meta charset="utf-8" />
<title>WebSocket Test</title>
<script language="javascript" type="text/javascript">
function init(evt) {
document.myform.url.value = "ws://mysite.ddns.net:12345/"
document.myform.inputtext.value = "Hi!"
document.myform.disconnectButton.disabled = true;
}
function doConnect() {
websocket = new WebSocket(document.myform.url.value);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}
function onOpen(evt) {
writeToScreen("connected\n");
document.myform.connectButton.disabled = true;
document.myform.disconnectButton.disabled = false;
}
function onClose(evt){
writeToScreen("disconnected\n");
document.myform.connectButton.disabled = false;
document.myform.disconnectButton.disabled = true;
}
function onMessage(evt) {
writeToScreen("response: " + evt.data + '\n');
}
function onError(evt){
writeToScreen('error: ' + evt.data + '\n');
websocket.close();
document.myform.connectButton.disabled = false;
document.myform.disconnectButton.disabled = true;
}
function doSend(message){
writeToScreen("sent: " + message + '\n');
websocket.send(message);
}
function writeToScreen(message){
document.myform.outputtext.value += message
document.myform.outputtext.scrollTop = document.myform.outputtext.scrollHeight;
}
window.addEventListener("load", init, false);
function sendText() {
doSend( document.myform.inputtext.value );
}
function clearText() {
document.myform.outputtext.value = "";
}
function doDisconnect() {
websocket.close();
}
</script>
<div id="output"></div>
<form name="myform">
<p>
<textarea name="outputtext" rows="20" cols="50"></textarea>
</p>
<p>
<textarea name="inputtext" cols="50"></textarea>
</p>
<p>
<textarea name="url" cols="50"></textarea>
</p>
<p>
<input type="button" name=sendButton value="Send" onClick="sendText();">
<input type="button" name=clearButton value="Clear" onClick="clearText();">
<input type="button" name=disconnectButton value="Disconnect" onClick="doDisconnect();">
<input type="button" name=connectButton value="Connect" onClick="doConnect();">
</p>
</form>
</html>
Code: Select all
#!/usr/bin/python
import socket
s = socket.socket()
#host = socket.gethostname()
port = 12345
#s.bind((host,port))
s.bind(('',port))
s.listen(5)
while True:
c, addr = s.accept()
print 'Got connection from', addr
c.send('Thank you for connecting')
c.close()
Code: Select all
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>WebSocket Test</title>
<script src="/socket.io/socket.io.js"></script>
</head>
<body>
<form name="myform">
<p>
<textarea name="outputtext" rows="20" cols="50"></textarea>
</p>
<p>
<textarea name="inputtext" cols="50"></textarea>
</p>
<p>
<input type="button" name=sendButton value="Send" onClick="sendText();">
<input type="button" name=clearButton value="Clear" onClick="clearText();">
</p>
</form>
<script>
var socket = io(); // This will make a web socket connection to the server of this page
// var socket = io('http://somehost/somePath'); // Or supply a different URL for the web socket server.
socket.on('myMessage', function (data) {
writeToScreen("response: " + data.content + '\n');
});
document.myform.inputtext.value = "Hi!"
function writeToScreen(message){
document.myform.outputtext.value += message
document.myform.outputtext.scrollTop = document.myform.outputtext.scrollHeight;
}
function clearText() {
document.myform.outputtext.value = "";
}
function sendText() {
var message = document.myform.inputtext.value;
writeToScreen("sent: " + message + '\n');
socket.emit('myMessage', { content: message });
}
</script>
</body>
</html>
Code: Select all
'use strict';
// Change process name so we don't see it as just "node" in ps and top
process.title = 'server';
// ------------------------- Web Server ----------------------------------------
const PORT = 4000;
// Use express as our web app server
let express = require('express');
const app = express();
let http = require('http');
const server = http.Server(app);
// Use morgan for logging requests
let morgan = require('morgan');
app.use(morgan('dev'));
// Make an express `Router`.
var router = express.Router();
// Serve static content from the public subdirectory
const publicPath = '.';
console.log('Serving static content from:', publicPath);
let serveStatic = require('serve-static');
router.use(serveStatic(publicPath));
// Now we can tell the app to use our router:
app.use('/', router);
// Start the server listening for requests.
server.listen(PORT, function() {
console.log(`Listening for http requests on port ${PORT}`);
});
// ------------------------ websocket server ----------------------------------
let socketio = require('socket.io');
const sio = socketio(server);
sio.on('connection', function (socket) {
console.log("Web socket client connected");
socket.on('myMessage', function (data) {
let message = data.content;
console.log(data);
socket.emit('myMessage', { content: message });
});
});
Code: Select all
{
"name": "faramon",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.14.0",
"morgan": "^1.7.0",
"socket.io": "^1.4.8"
}
}
Code: Select all
$ npm install
Code: Select all
$ node server.js
Code: Select all
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
Code: Select all
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
Code: Select all
$ nvm install nodeCode: Select all
$ nvm use node
Code: Select all
$ nvm ls
v0.10.26
v0.10.32
v0.11.14
-> v6.4.0
system
default -> 6.4.0 (-> v6.4.0)
node -> stable (-> v6.4.0) (default)
stable -> 6.4 (-> v6.4.0) (default)
Code: Select all
$ nvm use system
Now using system version of io.js: v2.4.0
Code: Select all
$ nvm use stable
Now using node v6.4.0 (npm v3.10.3)
Code: Select all
$ nvm alias default node
default -> node (-> v6.4.0)
Code: Select all
$ mkdir myProg
$ cd myprog
Code: Select all
$ npm init
Code: Select all
$ npm install express --save
Code: Select all
$ cd /where/ever/myProg
$ node server.js
Code: Select all
$ cd where/ever/myProg
$ npm install
$ node server.js
Wow, thanks.Heater, you are awesome, you rule.