5
\$\begingroup\$

I am trying to make a chess like 2-player game that has game logic written in C++ and front end in JavaScript. How do I exchange information between the two? I am not familiar with network programming, so resources regarding that would be helpful as well.

\$\endgroup\$
5
  • \$\begingroup\$ Did you choose a web server already, or do you want to roll your own? For the latter, see Beej's Guide to Network Programming and A Simple Webserver in C++ for Windows - If you are looking for a tool for web development using C++ see wt or TreeFrog - There must be others - Aside from that, consider to use an embeded web server for a managed/virtual-machine language and use whatever solution for C++ interop it has. \$\endgroup\$
    – Theraot
    Commented May 13, 2017 at 5:55
  • \$\begingroup\$ I got the idea of doing this from LiChess. Can you tell me how this does front end and server interaction? \$\endgroup\$ Commented May 13, 2017 at 5:59
  • 2
    \$\begingroup\$ They use scala to handle the web requests using Play Framework. In their case the server is handling routing information between the players. At some point the client open a websocket connection to the server, and the server is routing these connections to allow the playes to communicate. That is not the only way to do it. Before websockets it was possible to mimic this behaviour by keeping a HTTP connection open and having partial responses. A more modern alternative is WebRTC. \$\endgroup\$
    – Theraot
    Commented May 13, 2017 at 6:13
  • 1
    \$\begingroup\$ This stackoverflow post seems to be discussing a more specialised version of this problem, focusing on ajax (Asynchronous Json And Xml), which jquery has support for. \$\endgroup\$
    – Pharap
    Commented May 13, 2017 at 14:46
  • \$\begingroup\$ Do also note that LiChess' solution is highly sophisticated. If you're just starting out, perhaps look into something simpler like a REST framework. If you're not married to the idea of C++, you can get something like this running with a Python backend in under a day from scratch. \$\endgroup\$ Commented Jan 23, 2018 at 14:33

1 Answer 1

1
\$\begingroup\$

Just use WebSockets directly.

In C++ you can use µWebSockets to create a server. In JavaScript you can use the WebSocket object to connect to the server and send messages.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .