IBM MQSeries 问题:写入消息时远程主机关闭连接(错误 10054)

发布于 2024-08-20 22:44:13 字数 821 浏览 7 评论 0原文

我正在尝试向 IBM MQSeries 主机写入:

public void WriteMessage(string message)
{
    queueMessage = new MQMessage();
    queueMessage.WriteString(message);
    queueMessage.Format = MQC.MQFMT_STRING;
    queuePutMessageOptions = new MQPutMessageOptions();

    queue.Put(queueMessage, queuePutMessageOptions);
}

但是,我的 errorcatch 给了我一个错误:

应用程序错误

当然这并没有显示太多。所以我检查了服务器上的事件日志,这向我显示了错误:

从以下位置接收数据时发生错误 stx041774 (192.168.225.51) 超过 TCP/IP。这可能是由于 通讯故障。

TCP/IP (recv) 调用的返回代码是 10054 (X'2746')。

记录这些值并告诉 系统管理员。

我查了10054,意思是:

现有连接被强制 被远程主机关闭。

有谁知道我可以做些什么来使这项工作成功?我是否必须设置一个 MQC 选项才能进行写入?因为我不知道如何处理这些选项,所以我什至不确定这是否是问题所在。

I am trying to write to an IBM MQSeries host with:

public void WriteMessage(string message)
{
    queueMessage = new MQMessage();
    queueMessage.WriteString(message);
    queueMessage.Format = MQC.MQFMT_STRING;
    queuePutMessageOptions = new MQPutMessageOptions();

    queue.Put(queueMessage, queuePutMessageOptions);
}

My errorcatch gives me an error however:

Error in the application

Which doesn't show much of course. So I checked the event log on the server and this showed me the error:

An error occurred receiving data from
stx041774 (192.168.225.51) over
TCP/IP. This may be due to a
communications failure.

The return code from the TCP/IP (recv) call was 10054 (X'2746').

Record these values and tell the
systems administrator.

I looked up 10054 and means:

An existing connection was forcibly
closed by the remote host.

Does anyone have any idea what I can do to make this work? Is there perhaps an MQC option I have to set for writing? Because I have no idea what to do with the options, I'm not even sure if this is the issue.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橙幽之幻 2024-08-27 22:44:13

我使用选项 mqc.mqoo_output 解决了这个问题:

queue = qManager.AccessQueue(QueueName, MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);

I solved this issue with an option mqc.mqoo_output:

queue = qManager.AccessQueue(QueueName, MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文