MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / InitMTSockets

Function InitMTSockets

netcon/mtclient/mt_net.cpp:166–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

164}
165
166void InitMTSockets() {
167#ifdef WIN32
168 WSADATA ws_data;
169 WORD ver = MAKEWORD(1, 1);
170#endif
171 int rcode;
172 uint32_t ip;
173#ifdef WIN32
174 int error = WSAStartup(ver, &ws_data);
175 if (error != 0) {
176 DLLmprintf(0, "There was an error initializing networking! Error=%d\n", error);
177 return;
178 } else
179#endif
180 {
181 DLLmprintf(0, "Network initted successfully!\n");
182 }
183
184 {
185 static HOSTENT lhe;
186 memset(&sockaddr, 0, sizeof(SOCKADDR_IN));
187 gtrackaddr.sin_family = AF_INET;
188 gtrackaddr.sin_addr.s_addr = INADDR_ANY;
189 gtrackaddr.sin_port = 0;
190
191 gtrackaddr.sin_family = AF_INET;
192 // This would be a good place to resolve the IP based on a domain name
193 DLLmprintf(0, "Looking up hostname: %s.\n", GAMETRACKERNAME);
194
195 DLLnw_Asyncgethostbyname(&ip, NW_AGHBN_LOOKUP, GAMETRACKERNAME);
196
197 do {
198 rcode = DLLnw_Asyncgethostbyname(&ip, NW_AGHBN_READ, GAMETRACKERNAME);
199
200 if (!*DLLDedicated_server) {
201 if (99 == DLLPollUI()) {
202 return;
203 }
204 }
205 } while (rcode == 0);
206
207 if (rcode != 1) {
208 DLLmprintf(0, "Unable to gethostbyname(\"%s\").\n", GAMETRACKERNAME);
209 DLLmprintf(0, "WSAGetLastError() returned %d.\n", WSAGetLastError());
210 DLLnw_Asyncgethostbyname(nullptr, NW_AGHBN_CANCEL, nullptr);
211 return;
212 }
213
214 memcpy(&gtrackaddr.sin_addr.s_addr, &ip, 4); //&iaddr, 4);
215 gtrackaddr.sin_port = htons(GAMEPORT);
216 InitGameTrackerClient(GT_D3TNG);
217 }
218 {
219
220 memset(&sockaddr, 0, sizeof(SOCKADDR_IN));
221 sockaddr.sin_family = AF_INET;
222 sockaddr.sin_addr.s_addr = INADDR_ANY;
223 sockaddr.sin_port = 0; // htons(REGPORT);

Callers 1

DLLFUNCCALL DLLMultiCallFunction · 0.85

Calls 2

InitGameTrackerClientFunction · 0.85
InitPilotTrackerClientFunction · 0.85

Tested by

no test coverage detected