99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫UDP Client-Server application java程序

時間:2024-02-21  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯




Programming Assignment 1

Objective of this assignment:

.     Develop and implement a simple application using UDP sockets. The client must be implemented in Java. The server can be implemented in Java or in your preferred 1 language (different from Java) for a 5 points bonus. Insure that your preferred language is already installed and available on Tux machines. It is your responsibility to check ahead: do not check/test at the last minute.

What you need to do:

1.   Implement a simple UDP Client-Server application

Objective:

The objective is to implement a simple client-server application using a safe method: start from working code for the client and the server. You must slowly and carefully bend (modify) little by little the client and server alternatively until you achieve your ultimate goal: meeting all requirements for this assignment. You must bend and expand each piece alternatively the way a black-smith forges iron. From time to time save your working client and server such that you can roll-back to the latest working code in case of bugs. Not using this "baby steps" strategy may leave you with a ball of wax hard to debug.

For this programming assignment, you are advised (optional, not mandatory) to start from the Friend client and server code (see lecture and resources) to implement this simple application. The Friend app was presented during the lectures. Consider using Wireshark to check whether the protocols you implement meet this assignment requirements. If using a language other than Java for the server, you are on your own. Ensure that your preferred language is already available on Tux machines. It is your responsibility to timely check. Start ahead. Do not wait until the last minute.

Hint: look at how to “ How to get started?” below

Part A: Datagram socket programming

The objective is to design a Calculating Server (CS). This calculating server performs bitwise  Boolean and arithmetic computations requested by a client on signed integers. Your server must offer the following operations:  1) addition (+), subtraction (-), 3) bitwise OR (|), 4) bitwise AND (&), 5) division (/), and 6) multiplication (*).

A client will form a request  following  this protocol (byte per byte):



TML

Op Code

Operand 1

Operand 2

Request ID

Op Name Length

Op Name

Size (bytes)

1

1

4

4

2

1

Variable

Where

1) TML is the Total Message Length (in bytes) including TML. It is an integer representing the total number of bytes in the request.

2) Op Code is a number specifying the desired operation following this table

Operation

*

/

|

&

-

+

OpCode

0

1

2

3

4

5

3) Operand  1 is a signed number making the first operand

4) Operand 2 is a signed number making the second operand

5) Request ID is the request ID. This number is generated by the client to differentiate requests. You may use a variable randomly initialized and incremented each time a request is generated.

6) Op  Name Length is the length in bytes of the operation name (see below what the Operation Name is).  Pay attention: the length is the number of bytes used to encode the string. Recall that some encoding schemes use two bytes per character.

7) Op   Name is   name   of   the   requested  operation:   "addition",   "subtraction",  "or",  "and",  "division",  and "multiplication". The Op Name string must be encoded using "UTF- 16BE".

Operands are sent in the network byte order (i.e., big endian).

Hint: create a class object Request like "Friend", but with the fields needed for a request ...

Below are two examples of requests. Bytes in the array are hexadecimal numbers.

Request 1: suppose the Client requests to perform the OR operation 240 | 4: (This is the 5th request) (240) 10  = 0xF0 and (4) 10  = 0x04. We omit the “0x” prefix for each byte expressed in hexadecimal.

11 02 00 00 00 F0 00 00 00 04 00 05 04 0**F 00 72

Request 2: suppose the Client requests to perform the operation 227 &  183  (if this is the  12th  request):

13 03 00 00 00 E3 00 00 00 B7 00 0C 06 0**1 0**E 0**4

The Server will respond with a message with this format:

Total Message Length (TML)

Result

Error Code

Request ID

one byte

4 byte

1 byte

2 byte

Where

1) TML is the Total  Message Length (in bytes) including TML. It is an integer representing the total numbers of bytes in the message.

2) Result is the result of the requested operation

3) Error Code is 0 if the request was valid, and 127 if the request was invalid (Message length not matching TML)  4) Request ID is the request ID. This number is the number that was sent as Request ID in the request sent by the

client. This will allow the client to match the results to the appropriate request.

In response to Request 1 (240 | 4) below

11 02 00 00 00 F0 00 00 00 04 00 05 04 0**F 00 72

the server will send back: (. We omit the “0x” prefix for each byte expressed in hexadecimal. )

08 00 00 00 F4 00 00 05

In response to Request 2 (227 &  183 ),

13 03 00 00 00 E3 00 00 00 B7 00 0C 06 0**1 0**E 0**4

the server would send back:

08 00 00 00 A3 00 00 0C

a) Repetitive Server: Write a datagram Calculating Server (ServerUDP.xxx). This server must respond to requests as described above. The server must bind to port (10010+TID) and could run on any  machine  accessible  on the  Internet. TID is  your  Canvas  team  #. The  server  must  accept  a command line of the form: prog ServerUDP portnumber where prog is the executable, portnumber is the port the server binds to. For example, if your Team ID (GID) is Team  13 then your server must bind to Port #  10023.

Whenever a server gets a request, it must:

i.   display the request one byte at a time in hexadecimal (for debugging and grading purpose)

ii.   display the request in a manner convenient for a typical Internet user: the request ID and the request (operands and required operation)

b)   Inplement a datagram client (ClientUDP.xxx)

i.   Accepts a command line of the form: prog ClientUDP servername PortNumber where prog is the executable, servername is the servername, and PortNumber is the port number of the server. Your program must prompt the user to ask for an Opcode, Operand1 and Operand2 where OpCode is the opcode of the requested operation (See the opcode table). Operand1 and Operand2 are the operands. For each entry from the user, your program must perform the following operations:

ii.   form a request as described above

iii.   display byte per byte in hexadecimal the request that will be sent

iv.   send the request to the server and wait for a response

v.   display the server’s response byte per byte in hexadecimal (for debugging and grading purpose)

vi.   display the  response of the server  in a manner convenient for a typical Internet user: the request ID, the response and the error code (display Ok when error code is 0)

vii.   display the roundtrip time (time between the transmission of the request and the reception of the response)

viii.   prompt the user for a new request. (Use some way to allow a client to quit. Just be explicit about how to quit)

To implement the server, you should consider (optional) starting with the Friend code. If you implement a successful server in a language different from Java, you will get 5 points Bonus points. For the language other than Java, the only constraint is that it must already be installed on Tux machines. Check the Tux machines for your chosen language before you start implementing.

Your code must be neat and pleasant to read. Comment the code appropriately. If starting from some  other  code, delete all   unnecessary   instructions (do not  just comment  out the   unnecessary instructions). A code not neat or pleasant will be penalized up to -30 points.

Data collection and analysis

For the client, report separately the min, average, and max round trip time. Include screenshots of your client and server executing on the Tux machines. Screenshots on machines other than the Tux machines will not receive any credit. To receive any credit, the screenshots must clearly show the Tux machine name, the username of one of the classmates, and the date. In other words, if any information (username, date, or tux machine name) is missing, the assigned credit for the assignment will be 0. You must have two screenshots: one for the server and one for the client. Here is a screenshot containing the Tux machine, a username, and a date. Avoid screenshots too small. If screenshots are not easily and conveniently readable, they will be considered missing. Screenshots must be easily and conveniently readable.



How to get started?

1) Download all files (UDP sockets) to run the "Friend" application used in Module 2 to illustrate how any class object can be exchanged: Friend.java, FriendBinConst.java, FriendEncoder.java, FriendEncoderBin.java, FriendDecoder.java, FriendDecoderBin.java, SendUDP.java, and RecvUDP.java.

2) Compile these files and execute the UDP server and client. Ensure they work.

3) Create a new folder called Request and duplicate inside it ALL files related to the Friend class object     4) Inside the Folder Request, change ALL occurrences of "Friend" with "Request" including the file names. 3) Adapt each file to your application. Replace the fields used by Friend with the fields used by a request.

4) Aim to have the client send one request and have the server understand it (just like what we did with a friend object).

5) When your server will receive and print out correctly a request, then you need to send back a response... 6) Create a class object Response....

Report (a missing report incurs a 30 points penalty)

.     Write a report that will report your results..

.     Your report must contain the following information:

o  whether the programs work or not (this must be just ONE sentence)

o  the directions to compile and execute your programs

o  the information this assignment asks you to report (minimum, average, and maximum round trip times) and the

required screenshots of the execution of the client and server. To receive any credit, the screenshots must clearly show the Tux machine, the username of one of the classmates, and the date. To get the date, just run the command date before executing your programs. Each missing or incomplete screenshot will result in a 50 points penalty.

What you need to turn in:

.      Electronic copy of your source programs (standalone, i.e. NOT in a zipped folder)

.      Electronic copy of the report (including your answers) (standalone, i.e. NOT in a zipped folder). Submit the file as a Microsoft Word or PDF file.

. In addition, put all files in a zipped folder and submit the zipped folder.

Grading

1) Client is worth 40% if it works well:

a) meets the protocol specifications (20%) and the user interface ( 10%)

b) communicates correctly with YOUR server (10%). Furthermore, screenshots of your client and server running on Tux machines must be provided. The absence of screenshots or Screenshots on machines other than the Tux machines will incur 50 points penalty per missing screenshot

2) UDP client is worth  10% if it works well with a working server from any of your classmates.

The server is graded the same as the client (30% +  10% +  10%).
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

掃一掃在手機打開當前頁
  • 上一篇:代寫3D printer materials estimation編程
  • 下一篇:代寫 Behavioural Economics ECON3124
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 豆包 幣安下載 AI生圖 目錄網

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

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                在线电影院国产精品| 麻豆一区二区三区| 91一区二区在线观看| 亚洲男同性视频| 欧美在线观看视频一区二区 | 国内精品久久久久影院一蜜桃| 亚洲h在线观看| 五月激情综合色| 欧美刺激脚交jootjob| 国产亚洲欧美在线| 国产jizzjizz一区二区| 一区二区三区中文在线观看| 亚洲一区中文日韩| 亚洲日本丝袜连裤袜办公室| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美精品日韩精品| 国产目拍亚洲精品99久久精品| 国产精品欧美久久久久无广告| 国产精品久久看| 五月天国产精品| 91视频免费观看| 精品福利av导航| 国产精品天干天干在观线| 一区免费观看视频| 国产v综合v亚洲欧| 欧美激情一区二区三区四区 | 91黄色小视频| 一区二区三区免费看视频| 丝袜a∨在线一区二区三区不卡 | 国产精品77777| 丁香天五香天堂综合| 丰满少妇在线播放bd日韩电影| 国产iv一区二区三区| av成人免费在线观看| 在线观看国产一区二区| 91精品国产日韩91久久久久久| 91精品一区二区三区久久久久久| 日韩欧美第一区| 国产精品福利电影一区二区三区四区| 亚洲精品欧美专区| 日韩黄色一级片| 国产夫妻精品视频| 色美美综合视频| 精品国精品国产| 一区二区三区欧美| 老司机一区二区| 成人黄色在线看| 欧美三级日韩三级国产三级| 日韩欧美国产精品一区| 国产三级精品视频| 午夜精品在线看| 国产福利精品导航| 欧美日本在线播放| 国产精品色眯眯| 久久91精品久久久久久秒播| 色婷婷狠狠综合| 亚洲精品一区在线观看| 亚洲欧美偷拍三级| 国产麻豆成人传媒免费观看| 91蜜桃在线免费视频| 欧美一区二区视频在线观看2020 | 成人精品gif动图一区| 91极品视觉盛宴| 久久综合狠狠综合| 亚洲国产欧美在线| 久久精品国产成人一区二区三区| 91官网在线观看| 亚洲视频在线一区二区| 国产乱码精品一区二区三| 日韩欧美国产一区二区三区| 亚洲欧美日韩久久| eeuss鲁片一区二区三区| 欧美一三区三区四区免费在线看| 亚洲精品乱码久久久久久黑人 | 美女视频一区二区| 91麻豆swag| 中文字幕第一区二区| 婷婷六月综合网| 91福利国产成人精品照片| 国产精品欧美一区喷水| 国产一区二区不卡老阿姨| 欧美日韩在线播放一区| 久久久91精品国产一区二区三区| 欧美日韩精品一区二区天天拍小说| 亚洲免费观看高清完整版在线观看 | 亚洲成人动漫精品| 91色porny在线视频| 国产精品久久久久影院亚瑟| 国产精品一区二区黑丝 | 亚洲特黄一级片| 色先锋aa成人| 亚洲成av人片一区二区三区| 在线观看国产日韩| 亚洲成人av电影在线| 欧美色窝79yyyycom| 亚洲成在人线在线播放| 91精品国产综合久久久久久久| 日韩电影在线观看电影| 日韩精品一区二区三区四区视频| 久久久久久久久一| 国产精品自拍毛片| 亚洲欧美自拍偷拍色图| 色一情一伦一子一伦一区| 亚洲欧美日韩小说| 欧美精品色一区二区三区| 麻豆91免费看| 国产亚洲欧美一级| 在线观看91视频| 免费观看在线综合| 精品99999| 国产69精品久久久久毛片| 久久综合久久鬼色中文字| 成人在线视频首页| 亚洲色图丝袜美腿| 欧美一级片免费看| 国产成人aaa| 亚洲韩国一区二区三区| 欧美日韩精品高清| 麻豆专区一区二区三区四区五区| 欧美成人性福生活免费看| 韩国av一区二区三区在线观看| 国产精品久久久久aaaa樱花| 欧美日韩和欧美的一区二区| 精品制服美女久久| 国产精品丝袜久久久久久app| 国产在线精品一区二区三区不卡| 国产精品久久久久影视| 91久久精品网| 国产真实乱对白精彩久久| 久久久久国产一区二区三区四区 | 亚洲一区在线观看免费观看电影高清| 国产成人a级片| 亚洲精品久久久久久国产精华液| 精品成人一区二区| 成人a级免费电影| 亚洲综合偷拍欧美一区色| 26uuu精品一区二区| 欧美日韩一级片网站| 成人小视频免费观看| 免费在线看成人av| 亚洲与欧洲av电影| 亚洲欧美影音先锋| 精品久久久久久久久久久久久久久| 色菇凉天天综合网| 国产乱一区二区| 奇米色一区二区| 亚洲sss视频在线视频| 亚洲人成亚洲人成在线观看图片| 精品国产欧美一区二区| 欧美日韩精品欧美日韩精品一综合| 97久久精品人人做人人爽| 国产一区二区三区香蕉| 卡一卡二国产精品| 日韩电影免费在线观看网站| 一区二区三区欧美日韩| 国产精品人成在线观看免费| 久久久久久9999| 久久久国产精华| 国产亚洲精久久久久久| 精品国产a毛片| 国产片一区二区| 久久精品夜色噜噜亚洲aⅴ| 日韩欧美成人激情| 7777精品伊人久久久大香线蕉完整版| 91久久精品一区二区三区| 97精品视频在线观看自产线路二| 欧美军同video69gay| 欧美日韩在线一区二区| 欧美自拍丝袜亚洲| 欧美日韩专区在线| 欧美日韩亚洲综合一区| 欧美在线看片a免费观看| 色综合天天综合在线视频| 91一区二区三区在线观看| 色香色香欲天天天影视综合网| 色网站国产精品| 欧美性色欧美a在线播放| 在线观看av一区二区| 欧美日韩精品欧美日韩精品| 911国产精品| 日韩欧美国产一区二区三区| 精品国产乱码久久久久久久久| 久久久综合九色合综国产精品| 26uuu成人网一区二区三区| 久久久99精品久久| 中文字幕亚洲区| 亚洲一二三四久久| 亚洲超碰精品一区二区| 视频一区视频二区在线观看| 久久精品国产在热久久| 日韩欧美的一区| 亚洲国产精品黑人久久久| 日韩美女视频一区二区 | 91成人在线免费观看| 欧美久久久久中文字幕| 日日摸夜夜添夜夜添亚洲女人| 久久国产福利国产秒拍| 国产精品一品二品| 91免费在线视频观看| 欧美久久久久久久久中文字幕|