Я работал над программой, которая использует базы данных для отправки небольших сообщений с одного компьютера на другой. Что я сделал, так это поместил базу данных в общую папку, подключил к ней программу на другом ПК (через путь, не меньше), и вот он, простой и легкий способ получать сообщения на ПК. в сети. Не лучший вариант, но это просто домашняя работа, и быстрый и грязный подход принес мне оценку.
Но теперь домашняя работа сделана, и я хотел бы улучшить то, что я сделал. Проблема с программой находится в стадии развертывания. Слишком много папок / путей установки и административных проблем / проблем с совместным доступом, касающихся прямого доступа к базе данных в общей папке.
Так что хорошие люди здесь в stackoverflow посоветовали мне попробовать Socket Programming, что, я думаю, немного выходит за рамки моей лиги. Но ты никогда не знаешь ...
Кроме того, я знаю разницу между программированием сокетов Sync и Async. Один блокирует, другой нет. Программа, над которой я работаю, представляет собой простую пошаговую игру, поэтому я подумал, что Synchronous может быть достаточно хорош, поскольку, если это не ваша очередь, вы действительно ничего не сможете сделать. Проблема, однако, заключается в том, что программа считается «не отвечающей». Я попробовал асинхронный, но столкнулся с проблемами с многопоточностью, что я считаю ПУТЬ вне моей лиги.
По логике, программа проста. Один хост, один клиент. После подключения клиента хост отправляет данные. Затем клиент получает, отправляет свои данные. И так до тех пор, пока один из игроков не проиграет.
Извините, но в моей школе установлен только .NET 2.0. Нет WCF или что-нибудь. Кроме того, это должно быть сделано в C # Windows Forms, поэтому XNA отсутствует.
Итак, я хотел бы спросить ... есть ли простой способ попасть в Socket Programming? Любые руководства / примеры проектов, которые могут помочь? Готовые коды, которые можно изучить и адаптировать?
Большинство сэмплов, которые я нашел и адаптировал, являются приложениями для чата, которые, как мне показалось, достаточно хороши, но модульность просто ломает их.