Прокси и Net.Socket C#
Руководитель попросил рассмотреть проблемы, связанные с установленным прокси и как их преодолеть (возможно авторизация).
Честно сказать с распределенными приложениями работаю впервые, надеюсь на вашу помощь.
Код достаточно объемный, и по этому вопросу всего несколько строк....
Напишу только часть:
Непосредственно подключение:
Код:
client = new TcpClient(ip.ToString(), port);
Отправка данных:
Код:
private static void SendMessage(TcpClient client, string message)
{
byte[] bytes = Encoding.Unicode.GetBytes(message);
client.GetStream().Write(bytes, 0, bytes.Length);
}
{
byte[] bytes = Encoding.Unicode.GetBytes(message);
client.GetStream().Write(bytes, 0, bytes.Length);
}
Получение сообщения:
Код:
private static string ReadResponse(TcpClient client)
{
byte[] buffer = new byte[256];
int totalRead = 0;
do
{
int read = client.GetStream().Read(buffer, totalRead,
buffer.Length - totalRead);
totalRead += read;
} while (client.GetStream().DataAvailable);
return Encoding.Unicode.GetString(buffer, 0, totalRead);
}
{
byte[] buffer = new byte[256];
int totalRead = 0;
do
{
int read = client.GetStream().Read(buffer, totalRead,
buffer.Length - totalRead);
totalRead += read;
} while (client.GetStream().DataAvailable);
return Encoding.Unicode.GetString(buffer, 0, totalRead);
}
Рекомендую отказаться от использования собственного протокола в пользу WCF. Работу с проксями он поддерживает.