亚洲十八**毛片_亚洲综合影院_五月天精品一区二区三区_久久久噜噜噜久久中文字幕色伊伊 _欧美岛国在线观看_久久国产精品毛片_欧美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

    欧美一卡在线观看| 国产综合色精品一区二区三区| 美洲精品一卡2卡三卡4卡四卡| 色综合一个色综合| av中文字幕在线观看第一页| 99精品国产九九国产精品| 欧美日韩影院| 久草在线免费二| 97超碰欧美中文字幕| 在线观看导航| 人人狠狠综合久久亚洲| 在线看一级片| 欧美美女福利视频| 欧美一区二区福利在线| 色婷婷综合视频在线观看| 精品一区二区三区中文字幕 | 亚洲成人精品一区二区三区| 国产日韩欧美综合在线| 国产探花在线精品| 色先锋影音岛国av资源| 我不卡神马影院| 欧美性生活大片免费观看网址| 国产成人午夜精品影院观看视频| 精品推荐蜜桃传媒| 久久综合九色综合欧美亚洲| 日韩欧美卡一卡二| 日韩精品福利一区二区三区| 亚洲在线免费播放| 午夜日韩成人影院| 中文字幕在线不卡视频| 午夜久久一区| 黄色免费观看网站| 裸体一区二区三区| 韩国成人漫画| 在线免费av导航| 夜夜骑天天操| 91精品精品| 超碰97久久| 99日韩精品| 日本精品免费观看高清观看| 91久久国产| 五月婷婷视频在线观看| 午夜久久久久久久久久一区二区| 国产99精品视频| 国产精品妹子av| 久久精品一区二区三区不卡| 久久99久久99小草精品免视看| 日韩午夜高潮| 国产丝袜在线精品| 91精品国产综合久久蜜臀| 日韩一区二区视频| 成人性生交大片免费看午夜| 日韩偷拍自拍| porn亚洲| 免费不卡av| 曰本一区二区三区视频| 九九久久婷婷| 国内精品久久久久影院薰衣草| 一区二区在线观看免费视频播放| 亚洲福利一区二区| 婷婷六月综合网| 色婷婷一区二区三区四区| 四色成人av永久网址| 伪装者免费全集在线观看| 成人av观看| 国产欧美视频在线| 久久婷婷丁香| 国产专区欧美精品| 午夜视频在线观看一区二区| 亚洲欧美日本免费| 亚洲精品一区二区三区在线| 久久99国产精品久久99大师| 精品视频免费在线观看| 好看的亚洲午夜视频在线| 欧美国产日韩a欧美在线观看| 亚洲夂夂婷婷色拍ww47| 久草在线新视觉| 国产成人l区| 婷婷综合六月| 亚洲欧美日韩国产一区| 国产成人在线网站| 久久综合给合久久狠狠狠97色69| 欧美日韩国产经典色站一区二区三区| 91精品国产手机| 在线观看爽视频| 中文字幕一区二区三区日韩精品| 日韩免费视频| 日韩经典中文字幕一区| 久久综合色鬼综合色| 天天操人人爽| 高清国产一区二区三区四区五区| 久久精品国产久精国产| 欧美日韩国产一级| av在线日韩| 久久中文视频| 国产呦精品一区二区三区网站| 欧美中文字幕一区二区三区| 蜜桃专区在线| 亚洲瘦老头同性70tv| 日韩成人精品在线观看| 26uuu国产在线精品一区二区| 国产无遮挡又黄又爽免费软件 | 色婷婷久久一区二区三区麻豆| 美女免费久久| 亚洲精品v亚洲精品v日韩精品| 国产成人av影院| 激情视频网址| jizzjizz欧美69巨大| 精品写真视频在线观看 | 美女视频免费精品| 久久久久久穴| 日韩免费电影网站| 精品成人自拍视频| 亚洲人成网站色在线观看| 黄页在线观看| 九九在线高清精品视频| 亚洲福中文字幕伊人影院| 中文在线8资源库| 不卡的av电影在线观看| 在线观看免费亚洲| 国产在线超碰| 999久久精品| 综合久久久久久| 美女av网站| 国产高清一区二区| 91久久人澡人人添人人爽欧美| 台湾佬中文娱乐久久久| 久久午夜免费电影| 在线观看av免费| 国产91高潮流白浆在线麻豆| 国内三级在线观看| 免费在线观看一区二区三区| 超碰在线首页| 亚洲一区二区三区免费在线观看| 资源av在线| 午夜久久影院| 黄色春季福利在线看| 在线不卡亚洲| 欧美性xxxx| 超碰97国产精品人人cao| 香蕉视频官网在线观看日本一区二区| 91福利精品视频| 自拍视频一区| 正在播放亚洲一区| 电影久久久久久| 亚洲人成网站精品片在线观看| 中文av在线全新| 中文字幕一区av| 国产精品第一国产精品| 久久精品久久综合| 超碰免费在线观看| 成人精品视频.| 丝袜国产免费观看| 亚洲精品亚洲人成在线| 欧美综合亚洲图片综合区| 色天天色综合| 日韩丝袜美女视频| 亚洲精选91| 国产尤物视频在线| 91麻豆国产福利在线观看| 欧美电影免费看| 午夜成人免费电影| 国产亚洲欧美日韩在线观看一区二区 | 欧美经典一区| 久久精品亚洲精品国产欧美| 欧美xx视频| 欧美色视频日本版| 婷婷另类小说| 免费毛片在线| 亚洲视频综合| 91福利视频网站| 国产精品久久久久久久久妇女| 超碰成人福利网| 精品一区二区三区免费播放| 欧美24videosex性欧美| 日韩高清电影一区| 婷婷色在线播放| 亚洲少妇中出一区| 一本色道久久综合亚洲精品酒店 | av高清不卡在线| 欧美性aaa| 欧美成人欧美edvon| 亚州av日韩av| 日本中文字幕电影| 成人精品视频一区二区三区 | 不卡视频在线看| 国产一区二区高清在线| 欧美一区二区免费视频| 久草精品在线观看| 成人全视频在线观看在线播放高清 | 亚洲第一黄色| 欧美一卡二卡| 欧美视频一区二区三区在线观看 | 久草在线免费二| 成人在线视频一区二区| 在线观看免费观看在线91| 99久久国产免费看| 欧美私人网站| 99久久99久久精品免费观看| 视频一区国产|