Commit Graph

228 Commits

Author SHA1 Message Date
4ff840e91e Fixed boneheaded mistake, where I set REUSEADDR for UDP instead of TCP 2024-03-18 16:03:19 -04:00
fd4ad04aeb Removed unnecessary comment 2024-03-18 16:02:57 -04:00
d842485103 Throw errno instead of errno * -1, if an error is encountered with sending or receiving 2024-03-18 13:43:09 -04:00
3bf65ab8f9 Updated TODO 2024-03-18 13:27:14 -04:00
f3dcbc3b3e Removed check_server_client() function.
It has been replaced by check_server() and check_client().
2024-03-18 13:25:51 -04:00
463dfbd3e5 IPv6 support for RecvAllNB() 2024-03-18 13:22:26 -04:00
d3716536f9 Minor changes 2024-03-18 13:22:12 -04:00
8805402241 Return after catching exception 2024-03-18 13:22:01 -04:00
3d0aeac943 Ensure that REUSEADDR flag is only applied for TCP 2024-03-18 13:21:42 -04:00
c490eaa301 Updated TODO 2024-03-17 23:35:05 -04:00
0e7ebb4d78 Finished integrating check_server() and check_client(), check_server_client() has been commented out. 2024-03-17 23:34:24 -04:00
c94138ad8b Included new file in compilation process 2024-03-17 23:32:56 -04:00
cfbc726dca Renamed functions to make their purpose more explicit 2024-03-17 23:32:37 -04:00
ec2f3320e3 Replaced display_text_centered() with the environment-agnostic display_text() function; Changed function to include parameter to indicate environment type 2024-03-17 23:31:56 -04:00
43ba4aba0c Created a file that contains functions for agnostic text output 2024-03-17 18:09:07 -04:00
c2bedb0601 Wrote the check_num_args() function; still need to integrate it into the program. Also wrote a help text that is printed with -h flag. 2024-03-17 00:30:25 -04:00
77a147e08f Updated TODO 2024-03-17 00:27:35 -04:00
26999a1145 Started working on function to check the number of command-line arguments 2024-03-16 10:49:21 -05:00
f41c3d22e2 Updated TODO 2024-03-16 10:24:59 -05:00
9f1f313091 Cast sockaddr to sockaddr_storage 2024-03-13 15:14:38 -05:00
8401f74922 Define WIN32_LEAN_AND_MEAN to avoid including windows.h, when including winsock2.h 2024-03-13 15:10:16 -05:00
d2dd95b7cc Replaced global_args with project_args to prevent build error on MinGW 2024-03-13 15:09:48 -05:00
5cf11ac014 Added stdint header file 2024-03-13 14:36:24 -05:00
0dbf8936fd Added a #define for math constants on MinGW 2024-03-13 14:36:10 -05:00
3ab97b3853 Compile the application if it isn't already compiled 2024-03-13 13:00:28 -05:00
aea8f3dfd2 Updated TODO 2024-03-12 10:05:39 -05:00
94e08f3863 Used blocking recv here, to ensure that we wait for the server to respond 2024-03-12 10:02:53 -05:00
a847da5339 Added support for printing out the peer's IPv6 address; replaced struct sockaddr with struct sockaddr_storage 2024-03-12 10:02:23 -05:00
550643281e Replace all instances of sockaddr with sockaddr_storage 2024-03-12 09:44:41 -05:00
ef869710e5 Replaced recvAll call with recvAllNB 2024-03-12 09:44:15 -05:00
00d20ebc88 Used the non-blocking recv function, to ensure that the game doesn't hang if the server doesn't respond. 2024-03-12 09:43:48 -05:00
839efc3c44 Replaced all instances of struct sockaddr with struct sockaddr_storage, since it can fit v6 addresses as well. Cast values accordingly. 2024-03-12 09:43:16 -05:00
0a1934fdf9 Updated TODO 2024-03-12 09:42:32 -05:00
24b2a83044 Used a sockaddr_storage struct instead of a sockaddr struct, since the latter is not big enough for IPv6 2024-03-12 00:25:41 -05:00
7d4fd929c7 Updated TODO 2024-03-12 00:25:11 -05:00
54f7dbe7ee Modified recvAllNB() to return an empty string (instead of NULL) if there is nothing to read 2024-03-12 00:13:56 -05:00
06f44d385d Allow user to quit in menu screen; better error handling.
I set up a try-catch to catch the exception thrown by the Server/Client when
it can't create a socket. I also used display_and_exit() to
automatically close the window after the text has been displayed.
2024-03-11 13:45:05 -05:00
6f292699f8 Updated header file to reflect new function 2024-03-11 13:19:07 -05:00
6a40a596c1 Added new function to display text then exit 2024-03-11 13:18:48 -05:00
fc59a7221b Removed unnecessary #include 2024-03-11 13:18:31 -05:00
7f0898c81e Updated TODO 2024-03-11 13:17:18 -05:00
4001135451 Integrated upstream changes, since I forgot to pull before making local changes. 2024-03-11 01:32:56 -05:00
66d7585297 Removed IP version checking code (since this is handled in the Sock constructor), and allowed server (but not client, yet) to quit game before round start 2024-03-11 01:29:56 -05:00
727aeafdb9 Updated Server and Client constructor calls 2024-03-11 01:28:35 -05:00
3bdfdb114c Updated TODO 2024-03-11 01:28:04 -05:00
f840ff9c00 Updated comment explaining function 2024-03-10 21:57:58 -05:00
986e386098 Updated Server and Client constructor calls, so that they don't pass in the IP version 2024-03-10 21:56:03 -05:00
53282727ec Removed testing code 2024-03-10 21:55:09 -05:00
d43dc41f25 Updated TODO 2024-03-10 21:54:47 -05:00
0058e7e411 Removed ip_ver parameter
I removed this because I realized I could just check the IP version inside
the constructor. The Sock constructor now checks the address passed to it.
Like before, if the address is neither v4 nor v6, an exception is thrown.
Since the Server and Client constructors call the Sock constructor, no change
was required in these files, except passing the right number of parameters.
2024-03-10 21:53:06 -05:00