Guest User

Untitled

a guest
Jun 24th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. Socket*[] socketList;
  2.  
  3. string sRecv( Socket* socket)
  4. {
  5. ubyte[256] buffer;
  6. immutable size = socket.receive(buffer);
  7. import std.algorithm: min;
  8. return buffer[0 .. min(size,256)].idup.asString();
  9. }
  10.  
  11. void startServer( string servername )
  12. {
  13. auto pid = spawnProcess(["/home/erdem/eclipse-workspace/WebSocketDenemesi/websocketdenemesi", servername]);
  14. auto requester = new Socket(SocketType.req);
  15. auto allName = "ipc:///tmp/" ~ servername;
  16. requester.connect(allName);
  17. socketList ~= requester;
  18. }
  19.  
  20. void main() {
  21.  
  22. startServer("btcethtrade");
  23. startServer("btciotadepth");
  24. startServer("btciotatrade");
  25.  
  26. for (int requestNbr = 0; requestNbr != 10; ++requestNbr) {
  27. foreach ( requester; socketList)
  28. {
  29. requester.send("Hello");
  30. }
  31.  
  32. foreach ( requester; socketList)
  33. {
  34. auto str = sRecv(requester);
  35. writefln("Received reply %d [%s]", requestNbr, str);
  36. }
  37. }
  38. }
  39.  
  40. string sRecv(ref Socket socket)
  41. {
  42. ubyte[256] buffer;
  43. immutable size = socket.receive(buffer);
  44. import std.algorithm: min;
  45. return buffer[0 .. min(size,256)].idup.asString();
  46. }
  47.  
  48. void main( string[] args ) {
  49.  
  50. auto responder = Socket(SocketType.rep);
  51. string temp = "ipc:///tmp/" ~ args[1];
  52. responder.bind(temp);
  53. // Another thread needs to be created for listening websocket which I would like to avoid for avoid complications like creating a thread making
  54. while (true) {
  55. ubyte[10] buffer;
  56. responder.receive(buffer);
  57. writeln(args[1], " Received Hello");
  58. Thread.sleep(1.seconds);
  59. // Instead of this dummy message I need to pass the string I get from websocket which runs from another thread
  60. string message = "World from " ~ args[1];
  61. responder.send(message);
  62. }
  63. }
Add Comment
Please, Sign In to add comment