Я ищу рабочий образец проекта связи Xamarin Forms Asynchronous Socket. Я хочу, чтобы ОБА стороны моего проекта (сервер и клиент) были приложениями Xamarin Forms и чтобы они могли общаться между собой с помощью сокетов. Любая помощь будет принята с благодарностью.
PS Я не могу использовать веб-сокеты и хочу, чтобы сервер был xamarin, чтобы я мог использовать его на MacOs или в приложении Windows UWP
ОБНОВЛЕНИЕ - у меня есть примеры рабочих звонков из приложения Xamarin Forms для мобильных устройств в слушатель консольного приложения. Однако, когда я пытаюсь переместить код консольного приложения в другое приложение Xamarin Forms и запустить проект UWP для прослушивания соединений, соединение никогда не получается. Вот код:
Это код кнопки в моем серверном приложении, которая начинает перечислять:
private void btnStartListening_Clicked(object sender, System.EventArgs e)
{
Task.Run(async () =>
{
AsynchronousSocketListener.StartListening();
});
}
Вот метод сервера, который слушает:
public static void StartListening()
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[1];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);
// Create a TCP/IP socket.
Socket listener = new Socket(ipAddress.AddressFamily,
SocketType.Stream, ProtocolType.Tcp);
// Bind the socket to the local endpoint and listen for incoming connections.
try
{
listener.Bind(localEndPoint);
listener.Listen(100);
while (true)
{
// Set the event to nonsignaled state.
allDone.Reset();
// Start an asynchronous socket to listen for connections.
Debug.WriteLine("Waiting for a connection on " + ipAddress.ToString() + "...");
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener);
// Wait until a connection is made before continuing.
allDone.WaitOne();
}
}
catch (Exception e)
{
Debug.WriteLine(e.ToString());
}
}
Я знаю, что часть мобильного приложения правильная, потому что она может подключаться к консольному приложению, прослушивающему порт. Есть идеи, почему этот код не работает?