Chinaunix

标题: 后台程序收发消息异常,求助! [打印本页]

作者: mogo    时间: 2004-09-17 15:37
标题: 后台程序收发消息异常,求助!
程序组成:client端(windows下,VC6.0编写)与server端(redhat9.0,c语言编写);
基本功能:client向server发送消息,server收到后,向client回送消息。采用TCP协议;

问题描述:server若是写成前台进程,即不调用我编写的daemon函数,则收发消息一切正常,若改为守护进程,即调用daemon函数,则server能正常接收到client的消息,而client收到server的消息的内容却已是面目全非了,如server向client发送的是sendbuf[]="30--231---111---",client每次收到的都竟然是 "cannot find user!" 这几个字符!何解?
作者: FH    时间: 2004-09-17 15:58
标题: 后台程序收发消息异常,求助!
你的程序里有printf吧?
作者: mogo    时间: 2004-09-17 16:20
标题: 后台程序收发消息异常,求助!
是的,有.
本程序调用proc程序里的db_get_user_state函数查询数据库里某个用户的资料,然后把返回的用户资料写进sendbuff之中,再将sendbuff发送给client.
奇怪的是最后内容竟然变成db_get_user_state函数中的printf语句中的内容,如下:
printf("cannot find user!";
客户端受到的是: "cannot find user!"
作者: FH    时间: 2004-09-17 17:06
标题: 后台程序收发消息异常,求助!
删掉所有printf语句!
作者: mogo    时间: 2004-09-17 17:25
标题: 后台程序收发消息异常,求助!
我删掉了,可以了!非常感谢!
能否告诉我为什么会这样子?
作者: CNL    时间: 2004-09-17 19:39
标题: 后台程序收发消息异常,求助!
daemon后台程序标准输出转向所致,
后台程序一般用fprintf到一个日志文件中而不用printf




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2