加勒比久久综合,国产精品伦一区二区,66精品视频在线观看,一区二区电影

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

代寫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
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

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

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

    狂野欧美性猛交xxxx| 在线一区免费观看| 中文视频一区| 麻豆成全视频免费观看在线看| 国产精品久久久网站| 欧美激情五月| 欧亚一区二区| 亚洲一区视频| 久久国产欧美| 亚洲男人都懂第一日本| 久久精品99国产国产精| 蜜桃视频在线观看一区二区| 1024精品一区二区三区| 日韩经典中文字幕一区| 国产精品红桃| 99久久综合国产精品二区| 午夜一区不卡| 波多野结衣在线观看一区二区三区| 日韩大片在线免费观看| 亚洲三级国产| 男人天堂久久| 日韩欧美高清在线播放| 久久性色av| 欧美日韩三级| 欧美日韩色图| 国产乱论精品| 精品视频在线播放一区二区三区| 亚洲日韩视频| 日本中文在线一区| 福利视频一区| 成人片免费看| 国产剧情av在线播放| 母乳一区在线观看| 亚洲黄色影片| 免费久久久久久久久| 久久久人成影片免费观看| 欧美a在线观看| 日韩激情中文字幕| 日韩av黄色在线| 国产精品一在线观看| 国产精品a久久久久| 日日摸夜夜添夜夜添国产精品| 欧洲成人一区| 亚洲综合av一区二区三区| 天堂中文最新版在线中文| 国产精品99在线观看| 热久久免费视频| 麻豆精品网站| 久久亚洲一区| 蜜臀av性久久久久av蜜臀妖精| 国产婷婷精品| 首页国产欧美久久| 色777狠狠狠综合伊人| 免费看欧美美女黄的网站| 性欧美xxxx大乳国产app| 久久aⅴ乱码一区二区三区| 午夜在线播放视频欧美| 日韩影院在线观看| 日韩av在线中文字幕| 国产免费拔擦拔擦8x在线播放| 成人精品视频| 日韩欧美精品综合| 亚洲精品第一| 看片网站欧美日韩| 国色天香一区二区| 国产伦精品一区二区三区千人斩| 国产精品久久免费视频| 国产一区二区三区天码| 日韩08精品| 国产精品白丝av嫩草影院| 精品99在线| 亚洲精品一二三区区别| 亚洲一区网站| 裤袜国产欧美精品一区| 日本在线中文字幕一区二区三区| 玖玖精品在线| 国产精品777777在线播放| 久久综合亚洲| 精品国产91| 午夜久久黄色| 国产精品论坛| av在线不卡精品| 亚洲欧美在线专区| 麻豆精品久久| 国产一区日韩一区| 日韩一区精品视频| 日本久久二区| 国产免费久久| 久久久亚洲一区| 一本不卡影院| 欧美日韩国产观看视频| 欧美亚洲网站| 亚洲制服一区| 免费观看久久av| 91一区二区三区四区| 久久精品99国产精品| 亚洲人成网亚洲欧洲无码| 香蕉视频一区二区三区| 蜜臀精品久久久久久蜜臀| 精品乱码一区二区三区四区| 国产精品嫩模av在线| 色愁久久久久久| 午夜亚洲视频| 美女性感视频久久| 日韩在线成人| 日韩亚洲国产精品| 99热播精品免费| 亚洲人成网77777色在线播放| 久久福利综合| 中文在线8资源库| www欧美在线观看| 欧美一二区在线观看| 都市激情亚洲综合| 国产高清日韩| 亚州av乱码久久精品蜜桃 | 激情自拍一区| 免费福利视频一区二区三区| 日本午夜一本久久久综合| 丁香婷婷成人| 欧美aaaa视频| 国产亚洲高清一区| 五月天久久777| 成人性片免费| 91蜜桃臀久久一区二区| 免费成人在线影院| 欧美黄色精品| 天天色综合色| 精品亚洲a∨| 好吊妞视频这里有精品| 阿v视频在线观看| 国产精品一区高清| 99国产精品| 美女精品一区二区| 91精品国产91久久久久久密臀| 三级在线看中文字幕完整版| 亚洲精品**不卡在线播he| 一本一本久久| 久久影视三级福利片| 波多野结衣在线观看一区二区三区| 欧美午夜三级| 久久久国产精品一区二区中文| 伊人久久国产| 草莓视频一区二区三区| 免费xxxx性欧美18vr| 亚洲国产最新| 欧美gvvideo网站| 亚洲激情播播| 97视频精品| 久久久久久久久成人| 成人激情视频| 伊人久久噜噜噜躁狠狠躁| 伊人色综合一区二区三区影院视频| 日韩激情中文字幕| 成人一级福利| 亚洲国产视频二区| 嫩草伊人久久精品少妇av杨幂| 欧美理论电影在线精品| 91精品国产66| 久久久国产精品一区二区中文| 成人性片免费| 香港欧美日韩三级黄色一级电影网站| 日韩精品电影在线观看| 自拍偷拍欧美| 国产精品欧美三级在线观看| 日本激情一区| 黄色美女久久久| 美女免费视频一区二区| 99国产精品久久久久久久成人热| 麻豆免费看一区二区三区| 99视频一区| 久久综合给合| 日本美女久久| 欧美日韩精品一本二本三本 | 91tv亚洲精品香蕉国产一区| 久久久久国产| 你懂的国产精品| 国产精品久久久久久麻豆一区软件 | 日本一区二区乱| 国产精品第一国产精品| 欧州一区二区| 国产一区二区三区91| 日本免费一区二区三区四区| 激情视频一区二区三区| 精品一区二区三区四区五区 | 免费av成人在线| 精品久久久久中文字幕小说| 日韩高清在线观看| 免费在线观看成人| 欧美xxxx在线| av在线亚洲一区| 欧美a级在线观看| 日韩一区二区久久| www.久久东京| 91精品国产色综合久久不卡粉嫩| 91视频综合| 香蕉久久网站| 一本一道久久a久久| 久久久久久婷| 欧美色图在线播放| 日韩手机在线|