我在Linux OS上使用C语言的客户端服务器程序。在第一步中,我使用“localhost”在同一台机器上编写代码。因此,对于客户端获取服务器信息,我会使用
server = gethostbyname(“localhost”)
因为客户端和服务器都在同一台机器上运行。
但是,现在我想连接到外部设备(使用ssh)。设备的用户名是以下类型
用户@ foxboard1
虽然,我不知道如何在这个实例中使用gethostbyname()函数。我试过了
server = gethostbyname(“user @ foxboard1”)
但这似乎不起作用。
任何帮助将不胜感激!
P.s,我无法复制和粘贴代码,因为它位于不同的机器上
修改
我想使用其IP地址(通过connect()
功能的ssh连接)连接到设备,而不是检索有关外部设备的信息。
答案 0 :(得分:0)
gethostbyname()
及其替换getaddrinfo()
应该将IP地址的主机名或strin表示转换为“可用”结构。
这适用于localhost
,www.google.com
,1.2.3.4
等内容。
但如果您在字符串中嵌入了用户名,则必须将其拆分。
当然,您必须了解要建立的连接类型以及用户名的用途。
如果您希望进行SSH连接,最好使用popen()
和类似函数来启动外部ssh
进程。