Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

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.

None yet

2 participants