回來了(對不起)C++套接字不能正常工作
我創建了一個插座C++應用程序,但它不能正常工作。
這是我的第一個代碼:
void Network::Start()
{
this->socket = Env::GetSocket();
SOCKADDR_IN sInformation;
sInformation.sin_family = AF_INET;
sInformation.sin_addr.s_addr = INADDR_ANY;
sInformation.sin_port = htons(30000);
bind(this->socket, (SOCKADDR*) (&sInformation), sizeof(sInformation));
listen(this->socket, 10);
while (true)
{
this->DO();
}
}
和DO功能:
void Network::DO()
{
SOCKET s = SOCKET_ERROR;
sockaddr_in sock_addr;
accept(s, (sockaddr*) &sock_addr, NULL);
if (INVALID_SOCKET == s)
{
return;
}
else
{
cout << "Received connection from " << inet_ntoa(sock_addr.sin_addr);
}
}
會發生什麼事,總是(即使我連接)S的值INVALID_SOCKET。我通過.SWF連接,但不接受我的連接。我究竟做錯了什麼?
你需要做的'S =接受(這個 - >插座...' – ctn
@ctn你應該張貼,作爲一個答案 – Barmar
接受並返回一個整數,而不是一個套接字對象 –