Diving into Network Programming
- Josh Donais
- Aug 31, 2020
- 2 min read
This semester I'll be learning about Network Programming and a little about network security.
Network Programming encompasses a variety of topics. I've heard about some of these topics but never really explored them.
Network Protocols
I've worked with network protocols, usually when it dealt with my computer's firewall or router. I know that UDP, User Datagram Protocol, is used when packets are sent blindly to their destination. The sender doesn't wait for a response to ensure that the packet was received. As for the other protocols I'm curious and looking forward to learning more about them and how I can use them to accomplish some side projects I have in mind.
Designing a Network Application
I look forward to designing a network application. Up until this point I've only ever designed programs that pass information internally. It will be interesting to learn how the industry handles various message passing and security issues.
Inter-process Communication Utilizing Pipes
I've previously utilized pipes in a UNIX scripting class.
supposed we have a directory and we wanted to find all the files that were last modified in January
ls -l | grep JanThe output of ls -l would be piped to the grep command, which would return all the records containing 'Jan'
I would like to know if this is possible to use in a program or if we have to use it externally through a shell script.
Develop Programs Using Sockets
In order to communicate between two machines I imagine there needs to be an address where the program will send the information.
Describe Legal Issues in Computing
When communicating across a network, there are always legal issues that can arise.
One such issue that comes to mind is QVC vs. Resultly back in 2014-15. Resultly's web scraping program overloaded QVC's servers. QVC sued Resultly for the lost revenue due to the downtime caused by the crash. This brings up issues concerning the access of information on private servers by parties who did not have prior permission.
You can read more about it here.
I'd like to know more about the legal issues involved with network programming, before reading about this case, I wasn't aware that web scrapings legality was dubious.
Apply Secure Code Practices
Throughout my time in college and the work I complete during internships, secure code practices are something I always try to keep in mind. I always try to assert that an input will be of a specific type, a specific enumeration or within certain limits. I'd like to know more about how these practices are used in network programming.
Demonstrate Solutions for Ethical Issues in Computing
This is similar to the web scraping example from above. It would be unethical to retain the data that you scrape a website that does not hide its user information. We will most likely learn about more cases where retaining user date when it is not appropriate could result in ethical issues.
Develop a Network Application in a Team Environment
Working in a team always presents new challenges. We will need to divide the work appropriately and maintain regular meeting schedules so that we're all on track.
Network programming involves a new layer of complexity that I'm looking forward to learn and implement.





Comments