Мне нужно реализовать API на моем портале.
Поставщик API использует команду MML (Man Machine Language) для получения запроса и ответа.(Не используя запрос Http) Я пытаюсь это с сокетом в консольном приложении с .Net c #.Он был подключен, и когда я отправляю команду для входа в систему и получаю ответ, возникает исключение «Существующее соединение было принудительно закрыто удаленным хостом».Вот моя часть кода.Когда меня попросили провайдера API, они сказали, что вы также должны отправить заголовок.Пожалуйста, помогите мне преодолеть эту проблему.Заранее спасибо любая помощь будет оценена.
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("xxx.xxx.xxx.xx"), 0000);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(ipEndPoint);
Console.WriteLine("Socket connected to : " + socket.RemoteEndPoint.ToString());
try
{
string strLogin = "LOGIN:USER=xxx,PSWD=xxx";
socket.Send(Encoding.ASCII.GetBytes(strLogin), SocketFlags.None);
int byt = 0;
byte[] buffer = new byte[256];
var result = new StringBuilder();
do
{
byt = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None);
result.Append(Encoding.ASCII.GetString(buffer, 0, byt));
}
while (byt > 0);
Console.WriteLine("The server reply: " + result);
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
catch (Exception exc) { Console.WriteLine(exc.ToString()); }
Console.ReadLine();
}
catch (Exception exc) { Console.WriteLine(exc.ToString()); }