美女扒开腿免费视频_蜜桃传媒一区二区亚洲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加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇
    国产ts丝袜人妖系列视频 | 亚洲永久无码7777kkk| 国产免费美女视频| 永久免费未视频| 欧美做爰啪啪xxxⅹ性| 91视频免费在线看| 黄色国产在线视频| 五级黄高潮片90分钟视频| 日韩一区二区a片免费观看| 欧美黄色一级生活片| 免费91在线观看| av在线天堂网| 久久丫精品国产亚洲av不卡| 久久丫精品忘忧草西安产品| 美女的奶胸大爽爽大片| 深田咏美中文字幕| 色偷偷男人天堂| 中文字幕视频观看| 嘿嘿视频在线观看| 国产一区二区播放| 制服丝袜第二页| 中国一级片在线观看| 日本护士做爰视频| 久久一级免费视频| 国产伦精品一区二区免费| 手机毛片在线观看| 熟女人妻一区二区三区免费看| 特大黑人巨人吊xxxx| 在线免费日韩av| 91视频免费在观看| 国模私拍在线观看| 久久久久亚洲av无码专区体验| 日本少妇xxxxx| 在线观看一区二区三区视频| 日本xxxxxxxxx18| 午夜免费福利影院| 亚洲国产成人精品综合99| 国产jjizz一区二区三区视频| 好吊操视频这里只有精品| 亚洲少妇xxx| 日本高清黄色片| 在线不卡av电影| 亚洲av无码一区二区三区网址| 农村黄色一级片| 51精品免费网站| 中国1级黄色片| 中文字幕在线1| 久久人人爽人人爽人人片| 催眠调教后宫乱淫校园| 人妻精油按摩bd高清中文字幕| 91无套直看片红桃在线观看| 国产成人av一区二区三区不卡| 北京富婆泄欲对白| 麻豆精品国产传媒av| 精品中文字幕在线播放| 亚洲av无码一区二区三区网址| 俄罗斯黄色录像| 插我舔内射18免费视频| 屁屁影院国产第一页| 青青草视频播放| 国产1区2区在线观看| 欧美aaa级片| 国产性xxxx| 粗大的内捧猛烈进出视频| 中国男女全黄大片| 在线观看国产三级| 国产sm调教视频| 特黄一区二区三区| 亚洲视频天天射| 天天插天天射天天干| 国产在线综合视频| 国产乱国产乱老熟300| 女同性恋一区二区三区| 日韩一级av毛片| 三级影片在线看| 五级黄高潮片90分钟视频| 亚洲精品天堂网| 无码任你躁久久久久久老妇| a级片在线观看| 男生和女生一起差差差视频| 97伦伦午夜电影理伦片| 人人干在线观看| 超碰97在线资源站| 91香蕉视频污在线观看| 暗呦丨小u女国产精品| 女教师高潮黄又色视频| 天天躁日日躁狠狠躁av麻豆男男| 日本免费www| 亚洲一区二区三区四区av| 亚洲色图欧美色| av免费观看不卡| 69夜色精品国产69乱| 中文字幕无码人妻少妇免费| 艳妇荡乳欲伦69影片| 双性尿奴穿贞c带憋尿| 亚洲视频天天射| 国精产品一区一区| caopeng视频| 色呦呦一区二区| 亚洲精品久久一区二区三区777| 青青青视频在线播放| 亚洲 小说 欧美 激情 另类| 日本女人黄色片| 亚洲色图 激情小说| 欧美日韩高清丝袜| 欧美做受xxxxxⅹ性视频| 妖精视频一区二区| 日韩大尺度视频| 极品人妻一区二区| 中文字幕永久免费| 免费高清视频在线观看| 男人在线观看视频| 日韩高清dvd碟片| 日韩成人短视频| 波多野结衣不卡视频| 久久精品一区二区三区四区五区| 日本性高潮视频| 中文字幕免费在线看线人动作大片| 91视频啊啊啊| 国产女主播喷水高潮网红在线| 日批在线观看视频| 欧美 变态 另类 人妖| 好吊一区二区三区视频| 国产精品1000部啪视频| 美国黄色一级毛片| 日本人亚洲人jjzzjjz| 国产又粗又长又黄的视频| 麻豆一区在线观看| 免费黄视频在线观看| 国产伦理在线观看| 国产中年熟女高潮大集合| 亚洲女优在线观看| 全网免费在线播放视频入口| 亚洲精品乱码久久久久久9色| 在线精品视频播放| 亚洲精品91在线| 全网免费在线播放视频入口 | 曰本三级日本三级日本三级| 99riav国产精品视频| 精品夜夜澡人妻无码av | 色婷婷粉嫩av| 亚洲AV无码久久精品国产一区| 欧美做受高潮中文字幕| аⅴ天堂中文在线网| www.美色吧.com| 人人妻人人澡人人爽 | 韩国一级黄色录像| 黄色录像a级片| 91香蕉视频在线播放| a视频免费观看| 一区二区三区人妻| 特黄一区二区三区| 星空大象在线观看免费播放| 波兰性xxxxx极品hd| 蜜桃无码一区二区三区| 亚洲精品成人无码毛片| 在线免费看视频| 美女久久久久久久久| 日本福利片在线观看| 国产三级av在线播放| 超碰男人的天堂| 91精产国品一二三| 五月天色婷婷丁香| 中文字幕伦理片| 天天躁日日躁aaaxxⅹ| 成人做爰www看视频软件| 麻豆网站免费观看| 精品人妻伦九区久久aaa片| 少妇无套高潮一二三区| 91精彩刺激对白露脸偷拍| wwwww在线观看| 国产成人av片| 人妻av一区二区三区| 亚洲欧美一区二区三区四区五区| 极品美妇后花庭翘臀娇吟小说| 受虐m奴xxx在线观看| 30一40一50老女人毛片| 国产肉体xxxx裸体784大胆| 亚洲一区二区三区黄色| 无码国产精品一区二区免费式直播| 永久免费看mv网站入口| 波多野结衣家庭教师| 九九热视频在线免费观看| 亚洲精品自拍视频在线观看| 网站永久看片免费| 性爱在线免费视频| 国产av无码专区亚洲av毛网站| 欧产日产国产v| 日韩av无码一区二区三区不卡| 亚洲图片综合网| 无码少妇精品一区二区免费动态| 亚洲人成人无码网www国产| 中文天堂资源在线| 中文字幕影音先锋| 中文字幕在线视频播放| 国产人妻大战黑人20p| 18啪啪污污免费网站| 国产欧美视频一区| 91成年人网站| 国产av无码专区亚洲av毛网站|