Отправка и получение данных на iSeries Socket (AS400) C#
Я пытаюсь разработать класс, который подключается к iSeries (программа as400 - PGM) через сокеты. Соединение работает нормально, но когда я пытаюсь отправить данные и получить их, возникает ошибка.
Это код:
class Program
{
public static void StartClient()
{
byte[] bytes = new byte[1024];
string desaip = "10.112.2.11";
// Connect to a remote device.
try
{
IPAddress[] ipAddress = Dns.GetHostAddresses(desaip);
IPEndPoint remoteEP = new IPEndPoint(ipAddress[0], 42125);
// Create a TCP/IP socket.
Socket sender = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
// Connect the socket to the remote endpoint. Catch any errors.
try
{
sender.Connect(remoteEP);
Console.WriteLine("Socket connected to {0}",
sender.RemoteEndPoint.ToString());
#region forma A
// Encode the data string into a byte array.
byte[] msg = Encoding.ASCII.GetBytes("PRUEBAIB");
// Send the data through the socket.
int bytesSent = sender.Send(msg);
// Receive the response from the remote device.
sender.ReceiveTimeout = 10000;
int bytesRec = sender.Receive(bytes);
Console.WriteLine("Echoed test = {0}",
Encoding.ASCII.GetString(bytes, 0, bytesRec));
// Release the socket.
sender.Shutdown(SocketShutdown.Both);
sender.Close();
#endregion forma A
}
catch (ArgumentNullException ane)
{
Console.WriteLine("ArgumentNullException : {0}", ane.ToString());
}
catch (SocketException se)
{
Console.WriteLine("SocketException : {0}", se.ToString());
}
catch (Exception e)
{
Console.WriteLine("Unexpected exception : {0}", e.ToString());
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
Что может быть не так?
1 ответ
Решение
Проверьте программное обеспечение, которое должно прослушивать этот порт на iSeries. Убедитесь, что он работает, что он прослушивает этот порт. Работайте с этим заданием и посмотрите в журнале заданий, чтобы увидеть, какие сообщения были отправлены. Проверьте программный стек, чтобы увидеть, в каком операторе он находится, что может помочь определить, что произошло. Открытые файлы и статистика ввода-вывода также могут помочь.