博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSI 400 Operating Systems
阅读量:6870 次
发布时间:2019-06-26

本文共 4125 字,大约阅读时间需要 13 分钟。

CSI 400留学生作业代做、代写C/C++, C#语言作业、代做C/C++编程作业、代写Operating Systems作业

CQUPT – University at Albany
Computer Science – International College
CSI 400 Operating Systems – Fall 2018
Programming Assignment 3 – Client/Server Chat (Draft Copy)

You are to design and implement a client/server chat application. The application will allow a client to communicate with all the other clients connected to the server.

For this application clients will send data to the chat server and inform the data destination. This means the client will provide both the data and the id of the other client to whom the message is to be sent. This would allow one client to communicate with more than one user through a single connection to the server. One advantage of this approach is that clients need not know the IP of the others.

Definition of the language/protocol

Before implementing the language used by the chat application, we have to know which instructions will be transmitted from a client to another as well as instructions that contain specific meaning to the server.

The dynamics of the application

A client must register to the application through the server, by sending his/her login to the server. The login information needs to be unique.
A client not identified can't use the chat service until recognized by the server.
The server forwards the list of clients registered to each client current using the service.
A client can send a text message to any client registered.
The server can disconnect any client and can send information to any client.
Encoding/decoding

Data will be encoded according to the following syntax.

<TAG>value</TAG>
where TAG represents a reserved word associated to an instruction and value is the value of the instruction.

Tag used to implement the language are:

REQUEST : request a login or a disconnection.
MSG : text message from a client to another
LOGIN : authentication of a client to the server.
LOGIN_LIST : contains a list of client current using the application.
INFO: Information message from the server.
TO: Station where message is to be sent.
FROM: Station that generated the message.
BODY: Text contents of the message.
A message from a client (c1) to another (c2), may be encoded as:
<MSG><FROM>c1</FROM><TO>c2</TO><BODY>text</BODY></MSG>
Your server will process the MSG command and will forward the text message to the user referred in the destination portion of the message.

Requirements:

-Use C, C++, C#, etc… Whatever makes sense for this project.
-Optional use of a GUI .

Milestones (One page documentation for each milestone)

1)Create a single client/server application. Due Dec 12th .
2)Modify your single client/server design to support multi-client requests. Due Dec.14th.
3)Implement the chat protocol. Also provide documentation for the complete project.
Due Dec 17th .

Your program should be layered, modularized and well commented. The following is a tentative marking scheme and what is expected to handed in for this assignment:

1.External Documentation including [8-12 pages]

-title page
-a table of contents
-introduction

-[15%] design documentation (2-3 pages)

- a high-level data flow diagram and brief descriptions of major components for each
Program
- transport service type (connection-oriented or connetionless)
- brief description of components in client and server

- [15%] implementation documentation (2-3 pages)

- client and server process descriptions
- brief description for each routine
- internet socket type (stream, datagram )
- programming language used
- any UNIX/Linux utilities used.http://www.6daixie.com/contents/13/2386.html

-[15%] test documentation (3-4 pages)

- descriptions of what kind of testing and how they are performed.
- show compilation and makefile

- [5%] user documentation (1-2 pages)

- where is the source
- how to run the program (invoke and shutdown the programs on what machines)
- describe parameters

2.Source Code [50%]

-[40%] correctness
-[10%] programming style
- layering, modularity, readability, comments and efficiency

 

因为专业,所以值得信赖。如有需要,请加QQ99515681 或邮箱: 

微信:codinghelp

转载于:https://www.cnblogs.com/java23456/p/10124439.html

你可能感兴趣的文章
BIND基础配置详解
查看>>
火狐增加安全端口,每次用都得查,好麻烦,自己记录一下
查看>>
c# 多线程排队队列实现的源码
查看>>
LDA入门与Java实现
查看>>
Windows下搭建Nginx+PHP运行环境
查看>>
19_css背景控制.html
查看>>
计算机网络测试和故障诊断的发展
查看>>
Delphi 与 DirectX 之 DelphiX(29): TDIB.AddMonoNoise();
查看>>
Windows Server 2008 FTP用户目录隔离模式
查看>>
zookeeper-kafka环境搭建,生产者消费者终端测试
查看>>
Catnut 微博app第一个版本发布了
查看>>
Cocos Creator常见问题汇总
查看>>
String MVC 异常处理
查看>>
vsftpd中锁定用户目录
查看>>
探索MySQL高可用架构之MHA(3)
查看>>
org.apache.struts2.json.JSONWriter can not access a member of class
查看>>
美国买房十大步骤
查看>>
PageOffice实现js执行在线编辑时Word文档中的宏命令
查看>>
解决Linux中文乱码
查看>>
OPC UA 统一架构学习2
查看>>