我是TCP实施的新手。实现的方式是系统使用端口601使用TCP向系统发生的任何事件向syslog
服务器发送日志消息。
问题是当我将端口更改为其他(例如,662)时,消息被停止发送。因此,当我将端口更改回601时,消息仍未发送到syslog
服务器。
可能是什么原因?
下面的代码片段:
int Demo::LogMessageToRemoteSyslog(int pri, char *facility, char *buf)
{
if ((n = ACE_OS::send(m_Handle, tbuf, cnt, 0)) != cnt)
{
SYSLOGTRACE(SDI_LEVEL_ERROR,"SENDING TO REMOTE SYSLOG FAILED");
return -1;
}
return RetVal;
}
m_Handle
在Demo
的构造函数中定义为m_Handle = ACE_INVALID_HANDLE;
当消息未被发送时,它从-1
返回send()
。
如何再次连接到旧端口并建立连接?
请帮帮我。谢谢。