贝娄是我用来连接到Windows中的套接字的代码的和平。有时我没有IP着装,但在inetAddr
有DNS名称。可能我必须从主机名解析地址,否则有可能创建名称为DNS
的套接字?有DNS
名称时创建套接字的最佳方法是什么?有DNS名称时创建套接字
commStatus communicate(const char * tx, char * rx, const int bufSize , const char * inetAddr, const int port)
{
...
SOCKET s;
struct sockaddr_in server;
server.sin_addr.s_addr = inet_addr(inetAddr);
server.sin_family = AF_INET;
server.sin_port = htons(port);
if((s = socket(AF_INET , SOCK_STREAM , 0)) == INVALID_SOCKET)
{
FILELOGL("Could not create socket : " << WSAGetLastError(),Level::Error);
} else
{
if (connect(s , (struct sockaddr *)&server , sizeof(server)) < 0)
{
FILELOGL("connect error", Level::Error);
r= commStatus::COMM_NO_TRANSMIT ;
} else
{
...
}
}
...
}
解决它,亲爱莉莎。 –
@MartinJames亲爱的亨利,我能解决什么问题? –
@IronSavior:您是否在发布该评论前阅读过已提供的答案? –