使用JRTPLIB库时出现Can't retrieve login name错误
(2008-07-01 14:20:40)
标签:
jrtplib杂谈 |
分类: 其他技术文章 |
错误提示如下:
root:/tmp> ./bf537_send 192.168.10.226 9000
Destination IP Address:192.168.10.226
Destination Port:9000
How many packets you want to send?
2
check if Create Session error
ERROR:Can't retrieve login name
root:/tmp>
原因及解决方法如下:
板子上的文件系统不需要用户名就可以直接登录,而在JRTPLIB库中的RTPSession中的
Create->InternalCreate->CreateCNAME中,有对用户名进行一定操作,
其中的getlogin_r(),getlogin()和getenv()操作都会因为用户名为空,
而返回错误ERR_RTP_SESSION_CANTGETLOGINNAME。
我们可以通过修改JRTPLIB库(我所使用的版本号为3.7.1)的CreateCNAME源代码来为系统默认设置一个用户名。
在RTPSession.cpp的第1400行左右,找到:
if
(!gotlogin)
{
}
将其修改为:
if
(!gotlogin)
{
}

加载中…