Categories
University

Networking and Web Technologies Exam Result

This is literally what happens in Networking

Today, at 1:30pm, I took an exam for Networking and Web Technologies. Questions ranged from asking us to explain what a piece of JavaScript code did, to explaining some of the pitfalls of SMTP (The protocol used to transfer emails) as well as explaining the use of the datagram fragmentation mechanism in the internet protocol.

Because it was an electronic assessment we got our grades back at 5:30pm and I really happy to say I got a grade of 85%.

If I combine this grade with my two other grades and account for weighting this means, subject to exam board approval, I have achieved a grade of 88% for the Module as a whole! Annoying close to that big fat 90, but I’m very happy regardless!

Danny

Categories
University

Networking and Web Technology Coursework Results – 80% and 100%

Over the past few weeks I’ve been working hard on several courseworks and revising for several exams. One of the modules I’ve enjoyed the most has been Networking and Web Technologies.

The coursework was split into two stages. The first of which was simply entitled Networking — in this section we produces a command line client which could interact with both our lecturers server as well as one we later made ourselves. The client could send information to the server about the whereabouts of a staff member using their username and a string of text explaining their location. Simple stuff, but very satisfying to implement from something as simple as a socket connection. The server we made, which ran on multiple threads to allow over 10,000 people to connect at once, then collected this data, stored it in an XML file and could send the data to any client that asked for it. All good stuff, as Rob Miles would say.

Networking Coursework - Client, Server, Sever Log and Storage XML File
Networking Coursework – Client, Server, Sever Log and Storage XML File

I received a grade of 80% for my implementation of the console based applications, which I was happy with.

Today I demonstrated part two of the coursework, entitled Web Technologies to my lecturer. In this second part we had to make an application, either in PHP or ASP.NET which handled all of the same things the command line server did in part one, but better. I chose to do it in PHP as I have years of experience with the language.

The final result was a website with the following features

  • A Microsoft SQL Backend Database
  • The ability to add, delete and edit entries from a form
  • Validation of all inputs on server side
  • Parameterized queries to stop SQL Injection attacks
  • A responsive design so the site looks different, and better suited, on tablets and mobile phones
  • An API which any client which can send HTTP formatted POST or GET requests can use to add edit or query a user’s location

In the end I was awarded a grade of 100% for part 2! I couldn’t be more over the moon.

I have an exam on Tuesday for networking, which will be the final of the 3 parts. Once I know my grade for that and the exam overall I will of course update the blog 🙂

Danny.

Categories
Programming University

Networking Coursework – A Location Server

Networking Coursework – Client, Server, Sever Log and Storage XML File

Recently I’ve been working a lot on my coursework for the 08246 module, Networking and Web Technologies, which consists of producing a client and server for a system which stores information on the location of people at The University. The client allows the user to type in commands such as the following:

location Danny

And the server will return a response telling the user

Danny is in the ITMB Computer Labratory

The client can also update the position of someone on the server using the following Syntax

location Danny "In the Library"

The client and server can talk to each other over 4 different protocols.

  1. Whois, which is usually used to query information about a domain name on the internet.
  2. HTTP 0.9 – A deprecated form of the Hyper Text Transfer Protocol, the protocol used to deliver webpages, images and other media and files from websites.
  3. HTTP 1.0 – A newer version of HTTP
  4. HTTP 1.1 – The latest version of HTTP

The server saves the locations of all the users when it is updated, and stores a log detailing all the connections which have been made to it. At the moment the server is single-threaded and can only accept one connection at once. However I am currently working on making it multi-threaded, so that multiple clients can connect to the sever at the same time.

The coursework is in two parts. This first part requires just a command line interface and simple storage/logging. However part two will require me to update it to have a full working website and SQL Database backend. I will, of course, keep this blog updated with my progress.

Danny