POS机连接不上,如何判断是网线错误还是密码错误?

The POS Device is not connecting, how can I undestand wether the cable or the code is wrong?

我想通过 c# 包连接到 Ingenico iCT250 POS 设备。我正在使用 this one 。我按照他们的自述文件中的说明进行操作并尝试连接。当我 运行 时,几秒钟后程序关闭,我收到此消息。

C:\Users\User\Documents\c#\pos\pos\bin\Debug\net6.0\pos.exe (process 22480) exited with code 0.

我不明白为什么会收到此退出代码。怎么了? 代码有错吗?或者电缆有问题?我如何研究解决方案? 或者它是连接的,因为我读到“说进程以退出代码 0 结束意味着一切正常。”?但如果一切顺利, posDevice.IsConnected 应该返回 truefalse。 我也尝试过只在新 POS 中传递端口。但同样的结果。 这是代码:

class Program
{
    public static void Main(string[] args)
    {  
        POS posDevice = new POS("COM4", 115200);
         posDevice.Connect();
        Console.WriteLine("IsConnected??", posDevice.IsConnected);
    }
}

试试这个:

class Program
{
    public static void Main(string[] args)
    {  
        POS posDevice = new POS("COM4", 115200);

        posDevice.Connect();

        if (posDevice.IsConnected)
        {
            Console.WriteLine("Device is connected");
            Console.ReadKey();
        }
        else
        {
            Console.WriteLine("Device is not connected");
            Console.ReadKey();
        }
    }
}

并检查“POS”中的其他方法class,这可能有助于解决连接问题。

exited with code 0. 表示您的代码没有出错(就异常而言)。

但是您的代码有两个逻辑问题:

1 - 您实际上并没有写下测试结果,因为您没有在格式中包含占位符。

所以尝试将其更改为:
Console.WriteLine("IsConnected?? {0}", posDevice.IsConnected);

2 - 在您的程序完成后,它 立即退出 - 关闭控制台 window,并对您隐藏输出。

所以将以下内容添加到 Main 的末尾:
Console.ReadLine();

这样,您的程序会在退出前等待您的用户输入,并保持控制台 window 打开以供您阅读结果。

代码总数:

class Program
{
    public static void Main(string[] args)
    {  
        POS posDevice = new POS("COM4", 115200);
        posDevice.Connect();
        Console.WriteLine("IsConnected?? {0}", posDevice.IsConnected);
        Console.ReadLine();
    }
}