PageRenderTime 15ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/js/lib/Socket.IO-node/support/node-websocket-client/test/test-unix-sockets.js

http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
JavaScript | 46 lines | 37 code | 8 blank | 1 comment | 0 complexity | a609fcacbb363459faa91526d56d9622 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1, MPL-2.0-no-copyleft-exception, BSD-3-Clause
  1. // Verify that we can connect to a server over UNIX domain sockets.
  2. var assert = require('assert');
  3. var fs = require('fs');
  4. var path = require('path');
  5. var sys = require('sys');
  6. var WebSocket = require('../lib/websocket').WebSocket;
  7. var WebSocketServer = require('websocket-server/ws').Server;
  8. var PATH = path.join(__dirname, 'sock.' + process.pid);
  9. var S_MSG = 'Server test: ' + (Math.random() * 100);
  10. var serverGotConnection = false;
  11. var clientGotOpen = false;
  12. var clientGotData = false;
  13. var wss = new WebSocketServer();
  14. wss.addListener('listening', function() {
  15. var ws = new WebSocket('ws+unix://' + PATH);
  16. ws.addListener('open', function() {
  17. clientGotOpen = true;
  18. ws.close();
  19. });
  20. ws.addListener('data', function(d) {
  21. assert.equal(d.toString('utf8'), S_MSG);
  22. clientGotData = true;
  23. });
  24. });
  25. wss.addListener('connection', function(c) {
  26. serverGotConnection = true;
  27. c.write(S_MSG);
  28. wss.close();
  29. });
  30. wss.listen(PATH);
  31. process.addListener('exit', function() {
  32. assert.ok(serverGotConnection);
  33. assert.ok(clientGotOpen);
  34. assert.ok(clientGotData);
  35. try {
  36. fs.unlinkSync(PATH);
  37. } catch(e) { }
  38. });