Difference: SocketProgramming (1 vs. 7)

Revision 72011-07-05 - DonaldActon

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
-- DonaldActon - 21 Jun 2011
Line: 17 to 17
 
  1. Write a Java program that can make a TCP connection
  2. Write a Java program that can accept a TCP connection
  3. Write a Java program that can send and receive data on an established TCP connection
Changed:
<
<
  1. Enumerate and explain the different type of network related errors a program using/establishing a TCP connection might encounter and why/how they might be caused (e.g. connection not accepted, connection times out, connection failure during transfer
>
>
  1. Enumerate and explain the different type of network related errors a program using/establishing a TCP connection might encounter and why/how they might be caused (e.g. connection not accepted, connection times out, connection failure during transfer)
 
  1. Compare and contrast the properties of a TCP vs UDP "connection."
Changed:
<
<
  1. Something about XDR and the relationship
>
>
  1. Something about XDR and the interpretation of data.
 

Lesson Plan

Lecture 1

Revision 62011-06-28 - TWikiGuest

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
-- DonaldActon - 21 Jun 2011
Line: 7 to 7
 

Knowledge assumed prior to starting this module

  • Data is sent in packets
  • For TCP data is streamed and broken up into packets
Changed:
<
<
  • ACKS combined with timeouts are used to ensure the reliable delivery of data
  • Both ACKS and data can be lost
>
>
  • Data can be lost in UDP
 
  • Packets have addresses in them that are used to indicate where the packet is delivered

Learning Outcomes

  1. Explain what the role of an IP address is in a computer network.
  2. Explain what the role of a port number is in a computer network.
Added:
>
>
  1. Write a Java program that talks to Google.com
 
  1. Write a Java program that can make a TCP connection
  2. Write a Java program that can accept a TCP connection
  3. Write a Java program that can send and receive data on an established TCP connection

Revision 52011-06-28 - AlanWagner

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
-- DonaldActon - 21 Jun 2011
Line: 54 to 54
 
Added:
>
>

COMMENTS

  • discuss how IP-port src/dest matching occurs
  • asymmetric nature of sockets (accept/connect)
  • may need to explain what happens which a client connects to server, why is the port different?
 

Revision 42011-06-24 - TWikiGuest

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
-- DonaldActon - 21 Jun 2011
Line: 25 to 25
 

Lecture 1

  • Pre class Activities
    • Video discussing the construction of code to send a UDP packet
Changed:
<
<
    • Video Discussing the construction of code to receive a UDP packet
>
>
 
  • In Class Activities
    • Student groups assigned to be either the client or the server and then they have to exchange data between each other. First they send character data, then they go to numbers
    • Have to interact with a provided server that does things in binary
Added:
>
>
    • What happens when a packet arrives that is too large for the receiving buffer. Have students enumerate the possible outcomes and propose a way of determining what actually happens.
 
    • Invention activity for XDR
  • After Class Activities

Lecture 2

Revision 32011-06-22 - DonaldActon

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
-- DonaldActon - 21 Jun 2011

Revision 22011-06-21 - DonaldActon

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
Deleted:
<
<
 -- DonaldActon - 21 Jun 2011

Socket Programming

Changed:
<
<

Learning Outcomes

>
>

Knowledge assumed prior to starting this module

  • Data is sent in packets
  • For TCP data is streamed and broken up into packets
  • ACKS combined with timeouts are used to ensure the reliable delivery of data
  • Both ACKS and data can be lost
  • Packets have addresses in them that are used to indicate where the packet is delivered
 
Added:
>
>

Learning Outcomes

  1. Explain what the role of an IP address is in a computer network.
  2. Explain what the role of a port number is in a computer network.
  3. Write a Java program that can make a TCP connection
  4. Write a Java program that can accept a TCP connection
  5. Write a Java program that can send and receive data on an established TCP connection
  6. Enumerate and explain the different type of network related errors a program using/establishing a TCP connection might encounter and why/how they might be caused (e.g. connection not accepted, connection times out, connection failure during transfer
  7. Compare and contrast the properties of a TCP vs UDP "connection."
  8. Something about XDR and the relationship

Lesson Plan

Lecture 1

  • Pre class Activities
    • Video discussing the construction of code to send a UDP packet
    • Video Discussing the construction of code to receive a UDP packet
  • In Class Activities
    • Student groups assigned to be either the client or the server and then they have to exchange data between each other. First they send character data, then they go to numbers
    • Have to interact with a provided server that does things in binary
    • Invention activity for XDR
  • After Class Activities

Lecture 2

  • Pre-class Activities
    • Video discussing the construction of code to make a TCP connection
    • Video discussing the construction of code to accept a TCP connection
  • In Class Activities
  • Post Class Activities
 

Instructor Resources

Revision 12011-06-21 - DonaldActon

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="ComputerScience317Cwsei"

-- DonaldActon - 21 Jun 2011

Socket Programming

Learning Outcomes

Instructor Resources

  • RPI Introductory Networking Course The course content includes things like:
    • Simple Client Server using TCP
    • Simple UDP client and server
    • Byte Ordering issues
    • Errors that can be returned by socket API
    • I/O multiplexing
    • Java Network Programming

Student Resources

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback