User Tools

Site Tools


tcp_udp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
tcp_udp [2017/05/02 22:30] – [Talker] dwallacetcp_udp [2017/05/02 22:45] (current) dwallace
Line 93: Line 93:
 ==== Server ==== ==== Server ====
  
-Let's break down the server code. The first block is where we include all the necessary libraries and define essential constants.+Let's break down the server code. The server is a program that binds to a certain port, and send a predefined message to any client that connects to it. The first block is where we include all the necessary libraries and define essential constants.
  
 <code c> <code c>
Line 254: Line 254:
  
 Note, don't forget that all of the code after the first two blocks belongs in main( ), and that we must return 0 at the end of main( ). Note, don't forget that all of the code after the first two blocks belongs in main( ), and that we must return 0 at the end of main( ).
 +
 +Here is what it looks like when we launch the server:
 +
 +{{ dylanw:tcp_server_launch.jpg?500 }}
 +\\ 
 +And here is what it looks like when something connects to the server:
 +
 +{{ dylanw:tcp_server_connect.jpg?500 }}
  
 ==== Client ==== ==== Client ====
  
-Now, let's go over the client. This program is much simpler, as it only need to handle one connection during its run. We start out with the includes and the constant declarations, just as with the server.+Now, let's go over the client. The client is a program that connects to server port at a given IP address, and receives the message that the server sends. This program is much simpler, as it only need to handle one connection during its run. We start out with the includes and the constant declarations, just as with the server.
  
 <code c> <code c>
Line 373: Line 381:
  
 Just as with the server, we must ensure that everything after the first two blocks is in the main( ) function, and that we return 0 at the end. Just as with the server, we must ensure that everything after the first two blocks is in the main( ) function, and that we return 0 at the end.
 +
 +Here is what it looks like when the client is launched, and receives a message:
 +
 +{{ dylanw:tcp_client_launch.jpg?700 }}
 +
 ===== UDP Talker & Listener ===== ===== UDP Talker & Listener =====
  
Line 383: Line 396:
 ==== Listener ==== ==== Listener ====
  
-This listener has very similar style to the TCP server we created. As usual it starts with the includes and constant declarations.+This listener has very similar style to the TCP server we created. The listener is a program that binds to a predefined port, and listens to any messages received on that port, like a "reverse server". As usual it starts with the includes and constant declarations.
  
 <code c> <code c>
Line 495: Line 508:
  
 As with the others, make sure to include all of this in main( ), and return 0 at the end. As with the others, make sure to include all of this in main( ), and return 0 at the end.
 +
 +Here is what it looks like when the listener is launched:
 +
 +{{ dylanw:udp_listener_launch.jpg?500 }}
 +\\ 
 +And here is what it looks like when the listener receives a message:
 +
 +{{ dylanw:udp_listener_receive.jpg?500 }}
  
 ==== Talker ==== ==== Talker ====
  
-The talker is probably the simplest program of all of these, with just 65 lines of code. As usual, we start with includes and constant declarations.+The talker is probably the simplest program of all of these, with just 65 lines of code. The talker is a program that send  given message to a predefined port on the given IP address. It doesn't assume anything is listening, although it is useless without anything listening. As usual, we start with includes and constant declarations.
  
 <code c> <code c>
Line 576: Line 597:
  
 As usual, make sure that the code besides the first block is within main( ), with Cl arguments, and you return 0 at the end. As usual, make sure that the code besides the first block is within main( ), with Cl arguments, and you return 0 at the end.
 +
 +Here is what it looks like when the talker is launched, and sends a message:
 +
 +{{ dylanw:udp_talker_launch.jpg?700 }}
  
  
 This is basically it. Once you understand the basic network calls, and the looping structure, then it should be very easy to implement this yourself. Try out the program given yourself, and then try writing your own, and see if you can make it more efficient, or unique in your own way. Again, this is just the basics, and more difficult concepts will be covered in the future. This is basically it. Once you understand the basic network calls, and the looping structure, then it should be very easy to implement this yourself. Try out the program given yourself, and then try writing your own, and see if you can make it more efficient, or unique in your own way. Again, this is just the basics, and more difficult concepts will be covered in the future.
 +
 ===== Final Words ===== ===== Final Words =====
  
tcp_udp.1493789434.txt.gz · Last modified: 2017/05/02 22:30 by dwallace