重新学习C ++并且对套接字来说相当新。我有一个正确连接的Python应用程序和一个有效的.NET应用程序。
我需要调用的网址是domain.com:8080/signalr
。我跟随的似乎是standard example,例如:
if ((rv = getaddrinfo("www.domain.com", PORT, &hints, &servinfo)) != 0) {
...但无论我尝试什么,我都会得到名称或服务未知。
domain.com/signalr:8080
将无效。如果重要的话,这是在Raspbian(Debian)上运行的。
任何建议都将不胜感激。
答案 0 :(得分:2)
getaddrinfo()
的作用是名称解析。它不实现HTTP协议。此外,它不知道如何解析URL,你必须自己做。
正确的电话将是:
getaddrinfo("www.Domain.com", "8080", ...);
这会返回正确的struct sockaddr*
来调用connect()
并执行所有套接字的操作。
如果您想要一个为您执行所有HTTP协议的功能,那么您需要一个更高级别的库。我推荐libcurl
。