亚洲十八**毛片_亚洲综合影院_五月天精品一区二区三区_久久久噜噜噜久久中文字幕色伊伊 _欧美岛国在线观看_久久国产精品毛片_欧美va在线观看_成人黄网大全在线观看_日韩精品一区二区三区中文_亚洲一二三四区不卡

COMP3310代做、代寫C++, Java/Python編程

時間:2024-04-16  來源:  作者: 我要糾錯



Page 1 of 3
COMP3310 - Assignment 2: Indexing a Gopher.
Background:
• This assignment is worth 12.5% of the final mark.
• It is due by 23:55 Friday 26 April AEST (end of Week 8)
• Late submissions will not be accepted, except in special circumstances.
o Extensions must be requested as early as possible before the due date, with suitable
evidence or justification.
• If you would like feedback on particular aspects of your submission, please note that in the
README file within your submission.
This is a coding assignment, to enhance and check your network programming skills. The main focus is on
native socket programming, and your ability to understand and implement the key elements of an
application protocol from its RFC specification.
Please note that this is an ongoing experiment for the course, trialling gopher for this assignment. We may
discover some additional challenges as we go, that requires some adjustments to the assignment activities, or
a swap of server. Any adjustments will be noted via a forum Announcement.
Assignment 2 outline
An Internet Gopher server was one of the precursors to the web, combining a simple query/response
protocol with a reasonably flexible content server, and a basic model for referencing and describing
resources on different machines. The name comes from the (Americanised) idea to “go-for” some content…
and also the complexity of their interconnected burrows1
.
For this assignment, you need to write your own gopher client in C, Java or Python2,3
, without the use of any
external gopher-related libraries. The client will need to ‘spider’ or ‘crawl’ or ‘index’ a specified server, do
some simple analysis and reporting of what resources are there, as well as detect, report and deal with any
issues with the server or its content.
Your code MUST open sockets in the standard socket() API way, as per the tutorial exercises. Your code
MUST make appropriate and correctly-formed gopher requests on its own, and capture/interpret the results
on its own. You will be handcrafting gopher protocol packets, so you’ll need to understand the structures of
requests/responses as per the gopher RFC 1436.
We will provide a gopher server to run against, with a mix of content – text and binary files, across some
folder structure, along with various pointers to resources.
In the meantime, you SHOULD install a gopher server on your computer for local access, debugging and
wiresharking. There are a number available, with pygopherd perhaps the more recently updated but more
complex, and Motsognir, which is a bit older but simpler. If you find another good one, please share on the
forum.
1 https://en.wikipedia.org/wiki/Gopher
2 As most high-performance networking servers, and kernel networking modules, are written in C with other languages
a distant second, it is worth learning it. But, time is short, and everyone has a different background.
3
If you want to use another language (outside of C/Java/Python), discuss with your tutor – it has to have native socket
access, and somebody on the tutoring team has to be able to mark it.
Page 2 of 3
Wireshark will be very helpful for debugging purposes. A common trap is not getting your line-ending right on
requests, and this is rather OS and language-specific. Remember to be conservative in what you send and
reasonably liberal in what you accept.
What your successful and highly-rated indexing client will need to do:
1. Connect to the class gopher server, and get the initial response.
a. Wireshark (just) this initial-response conversation in both directions, from the starting TCP
connection to its closing, and include that wireshark summary in your README.
b. The class gopher site is not yet fully operational, an announcement will be made when it’s ready.
2. Starting with the initial response, automatically scan through the directories on the server, following links
to any other directories on the same server, and download any text and binary (non-text) files you find.
The downloading allows you to measure the file characteristics. Keep scanning till you run out of
references to visit. Note that there will be items linked more than once, so beware of getting stuck in a
loop.
3. While running, prints to STDOUT:
a. The timestamp (time of day) of each request, with
b. The client-request you are sending. This is good for debugging and checking if something gets
stuck somewhere, especially when dealing with a remote server.
4. Count, possibly store, and (at the end of the run) print out:
a. The number of Gopher directories on the server.
b. The number, and a list of all simple text files (full path)
c. The number, and a list of all binary (i.e. non-text) files (full path)
d. The contents of the smallest text file.
e. The size of the largest text file.
f. The size of the smallest and the largest binary files.
g. The number of unique invalid references (those with an “error” type)
h. A list of external servers (those on a different host and/or port) that were referenced, and
whether or not they were "up" (i.e. whether they accepted a connection on the specified port).
i. You should only connect to each external server (host+port combination) once. Don't
crawl their contents! We only need to know if they're "up" or not.
i. Any references that have “issues/errors”, that your code needs to explicitly deal with.
Requests that return errors, or that had to abort (e.g. due to a timeout, or for any other reason) do not count
towards the number of (smallest/largest)(text/binary) files.
You will need to keep an eye on your client while it runs, as some items might be a little challenging if you’re
not careful… Not every server provides perfectly formed replies, nor in a timely fashion, nor properly
terminated file transfers, for example. Identify any such situations you find on the gopher server in your
README or code comments, and how you dealt with each of them – being reasonably liberal in what you
accept and can interpret, or flagging what you cannot accept.
We will test your code against the specified gopher, and check its outputs. If you have any uncertainties
about how to count some things, you can ask your tutor or in the forum. In general, if you explain in your
README how you decide to count things and handle edge-cases, that will be fine.
You can make your crawler's output pretty or add additional information if you'd like, but don't go
overboard. We need to be able to easily see everything that's listed here.
Page 3 of 3
Submission and Assessment
There are a number of existing gopher clients, servers and libraries out there, many of them with source.
While perhaps educational for you, the assessors know they exist and they will be checking your code against
them, and against other submissions from this class.
You need to submit your source code, and a README file (text/word/pdf). Any instructions to run the code,
and any additional comments and insights, please provide those in the README. Your submission must be a
zip file, packaging everything as needed, and submitted through the appropriate link on wattle.
Your code will be assessed on [with marks% available]
1. Output correctness [45%]
o Does the gopher server correctly respond to all of your queries?
o Does your code report the right numbers? (within your interpretation, perhaps)
o Does your code cope well with issues it encounters?
o Does your code provide the running log of requests as above?
2. Performance [10%]
o A great indexer should run as fast as the server allows, and not consume vast amounts of
memory, nor take a very long time. There won’t be too many resources on the server.
3. Code “correctness, clarity, and style” [45%]
o Use of native sockets, writing own gopher requests correctly.
o Documentation, i.e. comments in the code and the README - how easily can somebody else
pick this code up and, say, modify it.
o How easy the code is to run, using a standard desktop environment.
o How does it neatly handle edge-cases, where the server may not be responding perfectly.
During marking your tutor may ask you to explain some particular coding decisions.
Reminder: Wireshark is very helpful to check behaviours of your code by comparing against existing gopher
clients (some are preinstalled in Linux distributions, or are easily added). There are a number of youtube
videos on gopher as well that e.g. show how the clients work. Your tutors can help you with advice (direct or
via the forum) as can fellow students. It’s fine to work in groups, but your submission has to be entirely your
own work.

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代做COMP9024、代寫C++設計編程
  • 下一篇:代寫CS360、代做Java/Python程序設計
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗證碼平臺 理財 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    在线观看日韩| 欧美国产偷国产精品三区| 国产农村妇女精品| 最色在线观看| 亚洲欧洲制服丝袜| 丝袜诱惑制服诱惑色一区在线观看| 中文字幕在线三区| 成人在线播放视频| 午夜在线播放| 黄在线免费观看| 精产国品自在线www| 国产一二区在线| 在线免费观看污| www视频在线观看| 性欧美18~19sex高清播放| 五月天激情在线| 97人人在线视频| **在线精品| 韩国三级成人在线| 国产精品sss在线观看av| 欧美变态网站| 97欧美在线视频| 99热免费精品在线观看| av片在线观看免费| 你懂的在线免费观看| 亚洲人被黑人高潮完整版| 欧美aⅴ99久久黑人专区| 日韩欧美2区| 四虎永久精品在线| 精品视频一区二区三区| 久久大胆人体视频| 国产精品久久久久蜜臀| 香蕉国产精品偷在线观看不卡| 日韩高清在线观看| 99久久夜色精品国产网站| 国产精品成人一区二区三区夜夜夜| 一区二区三区不卡视频在线观看| 精品美女国产在线| 日韩欧美在线1卡| 蜜臀在线观看| 美女一区二区视频| 狠狠做深爱婷婷综合一区| 久久av超碰| 国产精品xnxxcom| 给我免费播放日韩视频| 日韩精品久久| 日本不卡一区二区三区高清视频| 欧美性猛交xxxx偷拍洗澡| 国产精品美女久久福利网站| 1000部国产精品成人观看| 欧美视频中文字幕在线| 91骚色在线| 国产成人无吗| 国产精品chinese在线观看| 欧美午夜电影在线观看| 国产91精品露脸国语对白| 国产精品国产三级国产a| 欧美综合天天夜夜久久| 美臀av在线| 欧美三级网址| 第一会所亚洲原创| 国产一区二区三区综合| 亚洲精选免费视频| v888av成人| 久草在线视频福利| 综合亚洲色图| 国产一区亚洲一区| 精品久久久久久久久国产字幕| 日韩天堂在线| 久久国产成人| 亚洲v日本v欧美v久久精品| 欧洲一区在线电影| 色悠悠久久综合| 亚洲成a人片综合在线| 3atv在线一区二区三区| 日韩精品中文字幕在线一区| 黄色网免费看| 免费在线超碰| 完全免费av在线播放| a级片在线免费观看| 欧美2区3区4区| 性欧美欧美巨大69| 第四色成人网| 99精品国产热久久91蜜凸| 亚洲成a人片在线不卡一二三区| 成人av影视| 美女一区网站| 一区免费视频| 一区二区三区丝袜| 亚洲国产精品成人一区二区在线| 国产亚洲欧美日韩精品一区二区三区 | 免费成人高清在线视频theav| 国产在线播放一区| 欧美日韩国产123区| 欧美女同一区| 欧美日韩亚洲一区三区| 欧美韩国日本综合| 国产日韩欧美麻豆| 日韩精品一二三区| 国产精品资源网站| 综合在线影院| 日本妇女一区| av电影在线观看完整版一区二区| www.4438全国最大| 久久国产综合| 欧美国产亚洲另类动漫| 国产天堂在线| 欧美系列电影免费观看| 亚洲一区二区在线视频| 欧美videos另类精品| 欧美一级二级三级视频| 国模少妇一区二区三区| 一本高清dvd不卡在线观看| 天天躁日日躁狠狠躁超碰2020| 制服丝袜在线播放| 污污影院在线观看| 亚洲黑人在线| 91亚洲男人天堂| 久久精品色图| 日本片在线看| aaa国产精品视频| 久久免费国产| 国产一区二区毛片| 99.玖玖.com| 欧美男男激情videos| 另类av一区二区| 精品日产卡一卡二卡麻豆| 澳门av一区二区三区| 国产精品黄色| 91在线观看视频| 欧洲色大大久久| 91福利精品在线观看| 日日嗨av一区二区三区四区| 《视频一区视频二区| 成人18免费入口| 免费高清在线观看| 天堂中文在线播放| 亚洲国产一区二区精品专区| 亚洲色图视频免费播放| 在线看片福利| 久久福利资源站| 免费yellow网站| 51亚洲精品| 国产日韩在线不卡| 九九免费精品视频在线观看| 探花国产精品| 亚洲欧洲成人av每日更新| 亚洲欧美日韩高清在线| 久草网在线视频| 外国成人免费视频| 一级日本免费的| 国产精品一区一区三区| 国产a久久精品一区二区三区| 国产黄色av免费看| 播五月开心婷婷综合| av毛片精品| 午夜精品成人在线| 亚洲无吗在线| 超碰在线免费公开| 欧美一级高清片| 欧美在线观看一区| 国产精品白丝在线| 欧美影院在线| 国产在线视频福利| 精品欧美一区二区三区| 国产一区二区在线看| 日韩激情av| 国产精品美女久久久久久久网站| 欧美午夜精彩| av日韩电影| 2019中文字幕在线视频| 国产高清在线| av在线影院| 中文字幕在线播放| 日本一级在线观看| 伊人影院蕉久影院在线播放| 日韩美女一级视频| 美女毛片在线看| 成人网视频在线观看| 欧美综合天天夜夜久久| 综合电影一区二区三区 | 亚洲综合日韩| 久久er热在这里只有精品66| 翔田千里一区| 日本在线аv| 26uuuu精品一区二区| 色愁久久久久久| 国产成人a视频高清在线观看| 精品电影一区二区| 国产亚洲自拍一区| 国产欧美三级电影| 丁香婷婷在线观看| 婷婷丁香久久五月婷婷| 久久亚洲免费视频| 亚洲国产一区二区在线观看 | jizzjizz中文| 欧美日韩国产首页在线观看| 91久久奴性调教| 精品视频在线免费看| 免费福利影院|