Skip to content
Snippets Groups Projects
Select Git revision
  • 2ee0f797e325d099d1224501471a4b30db54654b
  • master default protected
  • find_previous_work
3 results

chen4_comp30023_2019_project-1

  • Clone with SSH
  • Clone with HTTPS
  • Anqi Chen's avatar
    Anqi Chen authored
    2ee0f797
    History

    Computer System Project1

    Background. Nowadays, search engines have been an essential part of our lives, e.g., Google and

    Bing, which have significantly improved our productiveness. There are various types of searching

    services, among which keyword search is the dominant one, namely searching by keywords. While

    keyword search works well for documents, pages and websites, it faces a big challenge when searching

    for images. This is because linking images with keywords is typically difficult for computers as it

    requires understanding on the semantic of images. For this purpose, tagging images with keywords

    is one of the most effective ways to help computers understand images’ semantic, and this is

    also the first step to help machines learn (by telling them which is correct and which is wrong).

    Unfortunately, tagging a large number of images is boring and requires a substantial amount of

    human power. In this project, you will make the boring tagging process more funny by implementing

    a network game server that tags images as people play. (The idea was invented by the inventor

    of re-Captcha and Duo-lingo; Google bought the company and shut down the game.)

    The Rules of the Game. The game consists of two players and one server, where each of the

    players can only communicate with the server (but the other player). At the beginning, when the

    two players log on to the server, the server sends both of them a same image. The game then

    starts; the players submit words or phrases to the server, one at a time, without being told what

    the other player has inputed. The goal for both the players is to enter a word or a phrase that has

    been submitted by the other as soon as possible. Obviously, in order to maximise the chance of

    getting a match, the two players would better to enter words that describe the image well, since it

    is the only information shared by both of the two. (The image is, therefore, tagged.) Once the goal

    is achieved, the game ends; the server sends a web page indicating that the game is completed and

    prompting the players to play again. If both the players agree to play again, the process repeats

    with a new image.

    Project Basic Functionalities. In this project, you are asked to write a program to implement

    (by socket programming in C) the aforementioned game server supporting two players from

    two different browsers over HTTP. The program should allow users to configure both the server IP

    address and the port number. Specifically, you need to implement the following basic functionalities

    of the server, where the html source files of all the pages will be provided.