美女扒开腿免费视频_蜜桃传媒一区二区亚洲av_先锋影音av在线_少妇一级淫片免费放播放_日本泡妞xxxx免费视频软件_一色道久久88加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇

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

    美女扒开腿免费视频_蜜桃传媒一区二区亚洲av_先锋影音av在线_少妇一级淫片免费放播放_日本泡妞xxxx免费视频软件_一色道久久88加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇
    久久久无码人妻精品无码| 国产这里有精品| 欧美图片第一页| 99精品欧美一区二区| 99在线视频免费| 亚洲欧美色图视频| 潘金莲一级淫片aaaaa| 夫妇露脸对白88av| yy1111111| gogo亚洲国模私拍人体| 丰满少妇被猛烈进入一区二区| 日本理论中文字幕| 91精品国自产在线| 性欧美精品男男| a天堂中文字幕| 国产日韩精品中文字无码| 日批免费观看视频| 久久久精品人妻一区二区三区| 国精产品久拍自产在线网站| 国产探花视频在线播放| wwwwxxxx国产| 亚洲一二三精品| 久久久久久久久久97| 蜜桃视频最新网址| 一起草最新网址| 国产盗摄一区二区三区在线| 欧美卡一卡二卡三| 国产又粗又猛又爽又黄| 能看毛片的网站| 小毛片在线观看| 少妇精品一区二区三区| 日本黄色动态图| 久久精品—区二区三区舞蹈| 亚洲а∨天堂久久精品2021| 美女三级黄色片| 一区二区免费在线观看视频| 91网站免费入口| 中国一级片在线观看| 动漫av在线免费观看| 国产吃瓜黑料一区二区| 免费看污片网站| 中文在线字幕在线观看| 亚洲精品久久久久久国| 国产精品无码在线| 一二三四在线观看视频| 欧洲熟妇的性久久久久久| 91在线无精精品白丝| 性生交大片免费全黄| 91视频啊啊啊| 亚洲一级二级片| 免费三级在线观看| 污污污www精品国产网站| 女人18毛片毛片毛片毛片区二| a一级免费视频| 加勒比精品视频| 亚洲a∨无码无在线观看| 欧美一区免费观看| 91免费在线看片| 在线观看国产免费视频| 国产乱子轮xxx农村| 欧美做受xxxxxⅹ性视频| 国产黄色网址在线观看| 亚洲xxxx3d动漫| 人与嘼交av免费| 超碰97av在线| 久久福利免费视频| 国产高清一区二区三区四区| 女人扒开双腿让男人捅 | 精品人妻无码一区二区三区 | 大又大又粗又硬又爽少妇毛片| 久草手机视频在线观看| 久久久久久国产免费a片| 日本少妇高潮喷水xxxxxxx| av无码一区二区三区| 日韩无码精品一区二区| 国产精品无码在线| 鲁丝一区二区三区| 久久婷婷五月综合| 污污视频网站在线免费观看| 亚洲天堂岛国片| 男人av资源站| 一卡二卡三卡四卡五卡| 国产精品伦子伦| 黄色网址在线视频| 91中文字幕永久在线| 美国黑人一级大黄| 欧美日韩午夜视频| 日本美女视频网站| 中文视频在线观看| 日韩人妻一区二区三区| 搜索黄色一级片| 屁屁影院国产第一页| 超碰97av在线| 性活交片大全免费看| jizz18女人高潮| 精品人妻在线视频| 你懂得视频在线观看| 国产精品熟女一区二区不卡| 黄色av网址在线观看| 亚洲一级理论片| 亚洲熟妇无码av| 黄色一级片中国| 99久久99久久精品免费看小说. | 久久久久亚洲av无码麻豆| 国产吞精囗交久久久| 欧美视频www| 一级黄色片大全| 日韩av成人网| 少妇一级黄色片| youjizz.com国产| 免费成年人视频在线观看| 少妇精品一区二区三区| 我家有个日本女人| 国产视频精品免费| 亚洲色图14p| 国产免费一区二区三区网站免费| 91porn在线| 新91视频在线观看| 特黄特色免费视频| 日韩av片在线免费观看| 无码人妻aⅴ一区二区三区| 天天看天天摸天天操| www.99热| youjizz亚洲女人| 手机毛片在线观看| 18精品爽国产三级网站| 谁有免费的黄色网址| 久久无码人妻精品一区二区三区 | 欧美图片一区二区| 亚洲视频在线播放免费| 免费在线观看日韩av| 国产探花一区二区三区| 国产精品久久久久野外| 高h视频免费观看| tube国产麻豆| 宇都宫紫苑在线播放| 91av免费观看| 国产精品成人无码专区| 欧美成人三级伦在线观看| 在线视频 日韩| 精品中文字幕在线播放| 欧美福利第一页| 久久一区二区电影| 亚洲xxxx3d动漫| 亚洲av成人无码久久精品| 制服 丝袜 综合 日韩 欧美| 欧美成人短视频| 亚洲人与黑人屁股眼交| www.av视频| 人妻精品久久久久中文字幕| 久久精品无码一区| 激情五月深爱五月| 久久国产免费视频| 三上悠亚影音先锋| tube国产麻豆| 欧美精品欧美极品欧美激情| 日本一级免费视频| 亚洲精品久久一区二区三区777| 女同毛片一区二区三区| 九九这里只有精品视频| 成人网站免费观看| 91麻豆精品成人一区二区| 蜜臀av粉嫩av懂色av| 69精品无码成人久久久久久| 欧美一区免费观看| 日韩欧美123区| 妺妺窝人体色WWW精品| 国产麻豆剧传媒精品国产| 在线观看福利片| 国产精品欧美性爱| 午夜国产福利视频| 国产三级国产精品| 亚洲美女精品视频| 日本黄色录像视频| 黄色裸体一级片| 黄瓜视频污在线观看| 国产精久久久久| 精品国产乱码久久久久久鸭王1| 色一情一交一乱一区二区三区| 久久人妻少妇嫩草av蜜桃| 亚洲综合久久av一区二区三区| 91中文字幕永久在线| 日本免费福利视频| 北京富婆泄欲对白| 黑人无套内谢中国美女| 黄色av片三级三级三级免费看| 日韩av在线看免费观看| 亚洲 欧美 日韩在线| 亚洲精品中文字幕在线播放| 国产精品扒开腿做爽爽爽a片唱戏| 韩国三级丰满少妇高潮| 男女男精品视频网站| 国产精品综合激情| 日日碰狠狠添天天爽| 男人的天堂官网| 国产传媒在线看| 国产午夜精品理论片在线| 羞羞在线观看视频| 侵犯稚嫩小箩莉h文系列小说| 97在线观看免费高|