- 4
- 0
- 约5.56千字
- 约 10页
- 2016-11-27 发布于重庆
- 举报
基于TCP的簡单一对一聊天程序设计1
基于TCP的简单一对一聊天程序设计
一、课程设计目的
1、通过课程设计,使学生理论联系实际,在实践中进一步了解计算机网络体系结构,深入理解TCP/IP参考模型
2、培养学生分析、解决问题的能力,提高学生动手能力。
3、使学生掌握搜集资料、调查研究、整理报告的方法。
4、初步掌握网络应用程序开发技术以及互联网的应用技术。
二、课程设计的要求及原理
1、课程设计要求。实现一个一对一的聊天程序。其基本过程如下:服务器首先启动,创建套节字等待客户连接;客户启动以后,创建套届字,然后和服务器建立连接;连接建立以后,客户机和服务器可以通过建立的套节字连接进行通信。服务器和客户端可以是一台电脑上的两个进程,也可以使分别部署在两台电脑上。
2、课程设计原理。
客户服务器模型。它是指客户/服务器模型是所有网络应用的基础。客户/服务器分别指参与一次通信的两个应用实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立。一个在建立分布式应用时最常用的范例。在这种方案中客户应用程序向服务器程序请求服务。这种方式隐含了在建立客户机/服务器间通讯时的非对称性。客户机/服务器模型工作时要求有一套为客户机和服务器所共识的惯例来保证服务能够被提供(或被接受)。这一套惯例包含了一套协议。它必须在通讯的两头都被实现。根据不同的实际情况,协议可能是对称的或是非对称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方被不可改变地认为是主机,而另一方则是从机。无论具体的协议是对称的或是非对称的,当服务被提供时必然存在客户进程和服务进程。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被惊醒并且为客户提供服务-对客户的请求作出适当的反应。虽然基于连接的服务是设计客户机/服务器应用程序时的标准,但有些服务也是可以通过数据报套接口提供的。TCP协议被称作一种端对端协议。这是因为它为两台计算机之间的连接起了重要作用:当一台计算机需要与另一台远程计算机连接时,TCP协议会让它们建立一个连接、发送和接收资料以及终止连接。传输控制协议TCP协议利用重发技术和拥塞控制机制,向应用程序提供可靠的通信连接,使它能够自动适应网上的各种变化。即使在 Internet 暂时出现堵塞的情况下,TCP也能够保证通信的可靠。IP协议只保证计算机能发送和接收分组资料,而TCP协议则可提供一个可靠的、可流控的、全双工的信息流传输服务。coutstring;等的输出处理方法。因为服务器是一只提供服务的,也就是说服务器一直是运行的状态,时刻等待着新的客户端提出连接请求,所以就需要使用到多线程的方法。Socket类的实例的accept方法是一个阻塞式的方法,如果只是用进程来表示新的客户端,那么在现有进程没有结束的情况下,新的客户端在发送连接请求之后程序将不能继续向下执行,所以应该应用比进程更小的线程来解决这一问题。
四、程序编写
1、客户端与服务器端用到的相关类
class CIPMessage
{
public:
CIPMessage();
~CIPMessage();
void Init(string sIpAddress, int iPort);
int SendMessagePort(string sMessage);
int RecMessagePort();
bool IsConnected(){return m_bIsConnected;}
private:
bool m_bIsConnected; // true - connected false - not connected
string m_sServerIPAddress;
int m_iServerPort;
SOCKET conn; // socket connected to server
};
class CChatServer
{
public:
CChatServer();
~CChatServer();
bool IsConnected(){return m_bIsConnected;} // 返回连接状态
void StartListenClient(); // Listen to client
int SendMessagePort(string sMessage); // 向所有客户端发消息
int RecClient(SOCKET sRecSocket); //接收客户端数据
private:
bool m_bIsConnected; // true - connected false - not connected
int m_iServerP
您可能关注的文档
- 基于Solidworks的零件參数化设计.doc
- 基于solidworks蝸轮齿面的三维仿真造型.doc
- 基于SolidWorks的錘片式饲料粉碎机的设计.doc
- 基于Solidworks齒轮精确建模.doc
- 基于solidworks的雙级圆柱齿轮减速器机械实体造型设计.doc
- 基于som網络灰关联分析BP网络预测模型.doc
- 基于Solr的搜索引擎研究與实现.doc
- 基于SOPC技術实现数字闹钟.doc
- 基于SOPC技術构建FPGA上的BS系统.doc
- 基于SOPC的地溝油检测系统111.doc
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- 《2025年新能源充电桩超快充技术政策支持分析》.docx
- BIC模型话术应用.pptx VIP
- AI赋能人力资源管理—找到企业内第一块AI“试验田”.pptx VIP
- 旅行社研学旅行指导师操作研学旅行指导师实务第五章39课件.pptx VIP
- 《老年社会工作》全套教学课件.pptx
- 施工总进度计划与施工及网络图.docx
- 敌草快中毒的护理.pptx VIP
- 诸子百家课件PPT.pptx VIP
- 《研学旅行指导师实务》课件——第6章 基(营)地研学课程操作.pptx VIP
- 北师大版必修二 Unit 6 The Admirable Lesson 3 The superhero behind superman课件.pptx VIP
原创力文档

文档评论(0)