貝婁是我用來連接到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:您是否在發佈該評論前閱讀過已提供的答案? –