"缺失有什么问题-6ren"> "缺失有什么问题-我编写了一个程序将系统日志发送到远程服务器。我的部分代码如下: sprintf(syslogBuf,"LogTime=\"%s\";user=\"%s\";IP=\"%s\";Sip=\"%s\";O-6ren">
gpt4 book ai didi

c - "<>"缺失有什么问题

转载 作者:行者123 更新时间:2023-11-30 15:16:05 24 4
gpt4 key购买 nike

我编写了一个程序将系统日志发送到远程服务器。我的部分代码如下:

sprintf(syslogBuf,"<%d>LogTime=\"%s\";user=\"%s\";IP=\"%s\";Sip=\"%s\";OpType=\"%s\";OpResult=\"%d\";OpText=\"%s %s\"",
pri,p[0],p[1],IP,p[2],p[3],flag,p[1],p[3]);

我用了sendto()发送syslogBuf到远程 sylog 服务器。但是服务器收到的是:

LogTime="2015-10-20 14:33:57";user="root";IP="127.0.1.12";Sip="127.0.1.14";OpType="show meminfo";OpResult="0";OpText="root show meminfo"

为什么<%d>错过?发送代码如下:

if(UdpSendData(sockfd,syslogBuf,strlen(syslogBuf),syslogServer,SYSLOGPORT) == -1);
perror("send failed");

UDP发送数据:

int UdpSendData(int sockfd,const char *buf, UINT32 dataLen, char *remoteIP, int remotePort)
{

struct sockaddr_in RemoteAddr;
int len;

if( sockfd <= -1)
{
printf("%s send fail,sock error.\n",__FUNCTION__);
return -1;
}
if((buf == NULL)||(remoteIP==NULL))
{
printf("%s send fail,buf error or remote ip error.\n",__FUNCTION__);
return -1;
}
//printf("udp send remote ip %s port %d.\n",remoteIP,remotePort);

memset(&RemoteAddr,0,sizeof(RemoteAddr));
RemoteAddr.sin_family = AF_INET;
RemoteAddr.sin_port = htons( remotePort );
RemoteAddr.sin_addr.s_addr = inet_addr( remoteIP );
int addrLen = sizeof(RemoteAddr);

len = sendto(sockfd, buf, dataLen, 0, (struct sockaddr*)&RemoteAddr, addrLen);

if (len <= 0)
{
printf("%s udp send to %s %d fail.\n",__FUNCTION__,remoteIP,remotePort);
return -1;
}
return len;

}

最佳答案

<%d>

已发送,但 syslog 将其解释为优先级标记,而不是消息的一部分。您可以简单地使用 [%d](%d)

关于c - "<>"缺失有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com