#if defined(__WIN32__)
#define WIN32_LEAN_AND_MEAN
+#define String _String
#include <winsock.h>
+#undef String
static WSADATA wsaData;
#elif defined(__unix__) || defined(__APPLE__)
default:
+#define set _set
#define uint _uint
#include <sys/time.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/time.h>
#include <arpa/inet.h>
+#undef set
#undef uint
typedef int SOCKET;
typedef struct hostent HOSTENT;
bool leftOverBytes;
Mutex processMutex;
Mutex mutex;
- int mainThreadID;
+ int64 mainThreadID;
OldList mtSemaphores;
};
network.ns = 0;
for(socket = network.sockets.first; socket; socket = socket.next)
if(!socket.processAlone && !socket.destroyed && socket.s >= network.ns)
- network.ns = socket.s + 1;
+ network.ns = (int)(socket.s + 1);
for(socket = network.connectSockets.first; socket; socket = socket.next)
if(!socket.destroyed && socket.s >= network.ns)
- network.ns = socket.s + 1;
+ network.ns = (int)(socket.s + 1);
for(service = network.services.first; service; service = service.next)
{
if(!service.destroyed && !service.processAlone)
{
if(service.s >= network.ns)
- network.ns = service.s + 1;
+ network.ns = (int)(service.s + 1);
}
for(socket = service.sockets.first; socket; socket = socket.next)
if(!socket.destroyed && !socket.processAlone && socket.s >= network.ns)
- network.ns = socket.s + 1;
+ network.ns = (int)(socket.s + 1);
}
network.mutex.Release();
}
if(network.networkInitialized)
{
#if defined(__WIN32__) || defined(__unix__) || defined(__APPLE__)
- Service service, next;
+ Service service;
Socket socket;
guiApp.PauseNetworkEvents();
{
incref socket;
//network.sockets.Remove(socket); //THIS IS ALREADY DONE IN Socket::Free
- socket.Free();
+ socket.Free(true);
if(socket._refCount > 1) socket._refCount--;
delete socket;
}
while((socket = network.connectSockets.first))
{
//network.connectSockets.Remove(socket); //THIS IS ALREADY DONE IN Socket::Free
- socket.Free();
+ socket.Free(true);
delete socket;
}
public bool GetAddressFromName(char * hostName, char * inetAddress)
{
- HOSTENT * host = gethostbyname(hostName);
+ HOSTENT * host;
+
+ if(!Network_Initialize())
+ return false;
+
+ host = gethostbyname(hostName);
if(host)
{
strcpy(inetAddress, inet_ntoa(*((IN_ADDR *)host->h_addr)));
struct in_addr in;
HOSTENT * host;
+ if(!Network_Initialize())
+ return false;
+
in.s_addr = inet_addr(inetAddress);
host = gethostbyaddr((byte *)&in, 4, PF_INET);
if(host)
public bool GetHostName(char * hostName, int size)
{
+ if(!Network_Initialize())
+ return false;
+
return !gethostname(hostName,size);
}