A机器(192.168.35.2),安装了Tuxedo服务端,启动了一些Tuxedo服务
B机器(192.168.35.3),安装了Tuxedo客户端
现在B机器上边写C语言代码,连接到A机器上调用服务
问题:
执行tpinit的时候,返回错误号12, "TPESYSTEM - internal system error"
和服务端没有启动一样,而实际上,telnet服务端的端口是通的
而且Windows上(C机器:192.168.35.4)的客户端程序是能够正常调用A机器上的服务的。
有人遇到过么?应该怎么办?
下面是初始化连接的代码:
int TuxedoInit(char * ReturnMessage)
{
int iInitRet = -1;
int iInitTime = 0;
char *stemp = NULL;
TPINIT *tpinfo;
tpterm(); //长连接切换成短连接时,释放长连接资源
tuxputenv("WSNADDR=//192.168.35.2:5123");
if ((tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, 256)) == NULL)
{
snprintf(ReturnMessage,ReturnMessageMaxLen,"tpalloc分配TPINIT buffer失败");
return -1;
}
if (strlen(ComptureIP) == 0)
{
sprintf(ComptureIP,"%s", GetIPAddress());
snprintf(UserName,30,"%s:%d",GServerName,GLogPid);
}
strcpy(tpinfo->usrname, UserName);
strcpy(tpinfo->cltname, ComptureIP);
strcpy(tpinfo->passwd, GTuxedoPass);
tpinfo->flags = TPMULTICONTEXTS;
do
{
if(iInitTime>0) sleep(50);
iInitRet = tpinit(tpinfo);
iInitTime++;
if(iInitRet<0)
{
}
}while((iInitRet<0)&&(iInitTime<3));
if(iInitRet<0)
{
tpfree((char *)tpinfo);
return -1;
}
else
{
tpfree((char *)tpinfo);
return 0;
}
tpfree((char *)tpinfo);
return -1;
}
7 个解决方案
#1
#2
早上起来顶一下,有人这么玩过么?
#3
问题解决了,用错了库了,应该用-lwsc库
#4
那我接个分吧..
#5
呃,不好意思。。。我结贴太快了。。。
#6
tpinit失败
一般不是服务没起,不然就是WSNADDR设置的不对。
我一般用tuxreadenv,没遇到过问题。
一般不是服务没起,不然就是WSNADDR设置的不对。
我一般用tuxreadenv,没遇到过问题。
#7
汗 啊
#1
#2
早上起来顶一下,有人这么玩过么?
#3
问题解决了,用错了库了,应该用-lwsc库
#4
那我接个分吧..
#5
呃,不好意思。。。我结贴太快了。。。
#6
tpinit失败
一般不是服务没起,不然就是WSNADDR设置的不对。
我一般用tuxreadenv,没遇到过问题。
一般不是服务没起,不然就是WSNADDR设置的不对。
我一般用tuxreadenv,没遇到过问题。
#7
汗 啊