mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-07 05:21:13 +00:00
Possible fix to issue #1951
(Code formated to be submitted for pull request) -- Indentation was off. SAME FIX AS BEFORE When two instances of Torque3D are running on the same network, one as a hosted server and the other as a client, the client is unable to connect to the server. The program now can open a socket. This was obviously a typo. To find the error I just searched for keywords containing socket, open, open socket, and opensocket till I found the correct file. The other error was in how the program processed “non fatal” errors. I just outputed the error to the main console and devised that the socket should not be closed for a WSAEWOULDBLOCK error 10035 "It is normal for WSAEWOULDBLOCK to be reported as the result from calling connect on a nonblocking SOCK_STREAM socket, since some time must elapse for the connection to be established." Read about the WouldBlock error: https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx Use of dbgSetParameters ( port , password ): http://docs.garagegames.com/tge/official/content/documentation/Reference/Console%20Functions/TorqueScript_Console_Functions_2.html#dbgSetParameters_.28_port_.2C_password_.29
This commit is contained in:
parent
513789c2c7
commit
db3ffab832
|
|
@ -809,7 +809,7 @@ NetSocket Net::openConnectTo(const char *addressString)
|
|||
error = Net::WrongProtocolType;
|
||||
}
|
||||
|
||||
if (error != NoError || error == NeedHostLookup)
|
||||
if (error == NoError || error == NeedHostLookup) // Open socket
|
||||
{
|
||||
handleFd = openSocket();
|
||||
}
|
||||
|
|
@ -826,10 +826,15 @@ NetSocket Net::openConnectTo(const char *addressString)
|
|||
if (::connect(socketFd, (struct sockaddr *)&ipAddr, sizeof(ipAddr)) == -1 &&
|
||||
errno != EINPROGRESS)
|
||||
{
|
||||
Con::errorf("Error connecting %s: %s",
|
||||
addressString, strerror(errno));
|
||||
closeSocket(handleFd);
|
||||
handleFd = NetSocket::INVALID;
|
||||
error = PlatformNetState::getLastError(); // Output this error if not 10035 then close
|
||||
|
||||
if (error != Net::WouldBlock) // Resource temporarily unavailable.
|
||||
{
|
||||
Con::errorf("Error connecting %s: %s",
|
||||
addressString, strerror(errno));
|
||||
closeSocket(handleFd);
|
||||
handleFd = NetSocket::INVALID;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue