using System; using System.Net; using System.Net.Sockets; using System.Text; namespace TicTacToe { public class NetworkPlayer { private string ip; private int port; private TcpClient client; private NetworkStream stream; public NetworkPlayer(string ip, int port) { this.ip = ip; this.port = port; client = new TcpClient(); } public void Connect() { try { client.Connect(ip, port); stream = client.GetStream(); } catch (Exception e) { Console.WriteLine(e.Message); } } public void SendMove(int x, int y) { byte[] buffer = Encoding.ASCII.GetBytes($"{x},{y}"); stream.Write(buffer, 0, buffer.Length); } public (int, int) ReceiveMove() { byte[] buffer = new byte[1024]; int bytesRead = stream.Read(buffer, 0, buffer.Length); string data = Encoding.ASCII.GetString(buffer, 0, bytesRead); string[] splitData = data.Split(','); return (Int32.Parse(splitData[0]), Int32.Parse(splitData[1])); } public void Disconnect() { stream.Close(); client.Close(); } } }