Skip to content

replacing server & client sockets with socket_holder containing ipv4 & ipv6 sockets#60

Merged
gafferongames merged 3 commits intomas-bandwidth:masterfrom
armandgray:feature-netcode-two-sockets-ipv4-ipv6
Feb 17, 2018
Merged

replacing server & client sockets with socket_holder containing ipv4 & ipv6 sockets#60
gafferongames merged 3 commits intomas-bandwidth:masterfrom
armandgray:feature-netcode-two-sockets-ipv4-ipv6

Conversation

@armandgray
Copy link
Contributor

@armandgray armandgray commented Feb 14, 2018

Functionality:

  1. Server & Client can specify any valid address and netcode_client/server_create_internal will create both 1 ipv4 & 1 ipv6 sockets. Client & Server dynamically select correct socket.

Change Log:

  1. netcode_client/server_create_overload allows binding of 1 ipv4 & 1 ipv6 socket based on passed address.
  2. Any client/ server socket interactions are flagged against the to or from address to dynamically select the socket matching the address protocol.
    =======
  3. netcode_client_t socket was encapsulated in netcode_socket_holder_t <- contains 2 sockets
  4. netcode_socket_create -> netcode_socket_create_internal (renamed)
  • new test suite (4 cases): test_client_create
  • new test suite (4 cases): test_server_create
  • new test suite (4 cases): test_client_server_ipv4_socket_connect
  • new test suite (4 cases): test_client_server_ipv6_socket_connect
  • valgrind passing

Internal Functionality Tests:

  1. Tested all cases on Android against remote Server (client only) & local running new server.
  2. Tested a., c. & e. on iOS sim against GS. iOS sim was unable to reach my home router w/ ipv6.

Cases:
a. ipv4 client <-> ipv4 address <-> ipv4 server
b. ipv6 client <-> ipv6 address <-> ipv6 server
c. ipv4/6 client <-> ipv4 address <-> ipv4/6 server
d. ipv4/6 client <-> ipv6 address <-> ipv6 server
e. ipv4/6 client <-> ipv4 address <-> ipv4 server
f. ipv6 client <-> ipv6 address <-> ipv4/6 server

…& ipv6 sockets

changing server_create_overload memset to use vars instead of struct type w/o keyword
@armandgray armandgray force-pushed the feature-netcode-two-sockets-ipv4-ipv6 branch from 774582e to ddaba86 Compare February 14, 2018 07:25
@gafferongames
Copy link
Contributor

This looks awesome, but can you debug why the test is crashing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants