Guest User

Untitled

a guest
Jun 23rd, 2018
90
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.  
  21. void main() {
  22.  
  23. startServer("btcethtrade");
  24. startServer("btciotadepth");
  25. startServer("btciotatrade");
  26.  
  27. for (int requestNbr = 0; requestNbr != 10; ++requestNbr) {
  28. foreach ( requester; socketList)
  29. {
  30. requester.send("Hello");
  31. }
  32.  
  33. foreach ( requester; socketList)
  34. {
  35. auto str = sRecv(requester);
  36. writefln("Received reply %d [%s]", requestNbr, str);
  37. }
  38. }
  39. }
  40.  
  41. string sRecv(ref Socket socket)
  42. {
  43. ubyte[256] buffer;
  44. immutable size = socket.receive(buffer);
  45. import std.algorithm: min;
  46. return buffer[0 .. min(size,256)].idup.asString();
  47. }
  48.  
  49. void main( string[] args ) {
  50.  
  51. auto responder = Socket(SocketType.rep);
  52. string temp = "ipc:///tmp/" ~ args[1];
  53. responder.bind(temp);
  54. // Another thread needs to be created for listening websocket which I would like to avoid for avoid complications like creating a thread making
  55. while (true) {
  56. ubyte[10] buffer;
  57. responder.receive(buffer);
  58. writeln(args[1], " Received Hello");
  59. Thread.sleep(1.seconds);
  60. // Instead of this dummy message I need to pass the string I get from websocket which runs from another thread
  61. string message = "World from " ~ args[1];
  62. responder.send(message);
  63. }
Add Comment
Please, Sign In to add comment