Выясните простой протокол SOAP. Вы можете просто создать интерфейс WSDL - его легко создать с помощью Windows Communication Foundatoin (WCF) или JMS.
Проще всего было бы иметь централизованный сервер, который мог бы служить в качестве рефери и следить за временем. Каждому игроку может быть назначен идентификатор.
Тогда у вас может быть следующий интерфейс (используйте WCF или JMS для создания протокола WSDL SOAP)
function int requestGame(int opponentID, int color)
- if called with color = -1, randomly assigns a color and returns it (0=white, 1=black).
- otherwise you can request a color, and returns it if accepted, -1 if not accepted.
- could use -1 to request random opponent.
function int getRemainingTime(int color)
- returns the time remaining on clock for color
function bool play(int color, int i, int j)
where color = 0 - white - 1 black,
i, j are board coordinates,
- returns true if it is a legal move
function bool won(int color)
- returns true if color has won the game.
Отсутствие централизованного сервера будет более сложным, поскольку им придется договариваться о согласованных выигрышах, времени и т. Д.