Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Websphere MQ 7.0.1 C#XMS连接导致10054(X';2746';)tcp错误_C#_.net_Ibm Mq - Fatal编程技术网

Websphere MQ 7.0.1 C#XMS连接导致10054(X';2746';)tcp错误

Websphere MQ 7.0.1 C#XMS连接导致10054(X';2746';)tcp错误,c#,.net,ibm-mq,C#,.net,Ibm Mq,我有一个简单的程序连接到一个远程队列管理器,它似乎工作正常,我可以发送和接收消息。但是,我注意到,每次连接都会在windows应用程序事件管理器中出现错误: 从主机myhost(12.213.143.252)接收时出错 从我的主机(12.213.143.252)接收数据时发生错误 TCP/IP。这可能是由于通信故障造成的 TCP/IP recv()调用的返回代码为10054(X'2746')。 记录这些值并告诉系统管理员 我想这可能是因为我没有正确地断开客户端的连接,尽管我不确定我做错了什么。下

我有一个简单的程序连接到一个远程队列管理器,它似乎工作正常,我可以发送和接收消息。但是,我注意到,每次连接都会在windows应用程序事件管理器中出现错误:

从主机myhost(12.213.143.252)接收时出错

从我的主机(12.213.143.252)接收数据时发生错误 TCP/IP。这可能是由于通信故障造成的

TCP/IP recv()调用的返回代码为10054(X'2746')。 记录这些值并告诉系统管理员

我想这可能是因为我没有正确地断开客户端的连接,尽管我不确定我做错了什么。下面是我用来测试连接的代码,它仍然会导致此问题:

        XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);           
        IConnectionFactory cf = factoryFactory.CreateConnectionFactory();

        cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, WebSphereConfigObject.QueueManager);
        cf.SetStringProperty(XMSC.WMQ_HOST_NAME, WebSphereConfigObject.Host);
        cf.SetIntProperty(XMSC.WMQ_PORT, WebSphereConfigObject.Port);
        cf.SetStringProperty(XMSC.WMQ_CHANNEL, WebSphereConfigObject.ServerConnectionChannel);
        cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
        IConnection connection = cf.CreateConnection();
        ISession session = connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
        connection.Start();
        session.Close();
        connection.Stop();
        connection.Close();

非常感谢任何帮助

据我所见,事件10054由队列管理器进程amqrmppa记录。当此队列管理器进程和XMS客户端应用程序之间的套接字连接突然终止时,将记录该事件


正常终止不会记录任何事件。

尽量不要同时使用这两种方法。关闭呼叫

美国。[1] :

正确关闭和断开连接
编写应用程序代码以正确关闭或处置不再使用的XMS对象。否则,尤其是IConnection或ISession实例,可能会限制到队列管理器的连接数

那么,上面的代码有什么问题会导致它突然终止?不,我没有看到上面的代码有任何错误。该代码不会为我记录任何事件。我正在使用mqv7016。您可能希望进行队列管理器端跟踪,以找出出现了什么问题。啊,好的,我在建立连接时跟踪了这一点,并为amqrmppa.exe进程提供了跟踪文件。但是,我不知道在这个1400行文件中查找可能发生的事情的位置,或者我应该从哪里开始做什么?对不起,我不知道你的意思是我不应该使用哪一个,为什么?