前几天在看关于网络编程的知识,于是自己想做个聊天系统.这个东西之前认为还很好做,但实际却是把头都搞大了.
最开始做的时候,只是做的客户端与服务器端的最简单的交互,然后扩展到客户端可以连续的发送数据到服务器端,服务器端做出相应的响应.做好客户端多次发送数据以后,我就做了两个GUI,一个控制客户端,一个控制服务器端.接着做一个客户端通过服务器端与另一个客户端进行信息的交互,这个东西还真麻烦,首先需要启动多线程,开启一个客户端的时候需要在服务器端开启一个线程来循环坚听客户端是否发送信息,还需要一个包装类来封装客户端的信息,并且把信息要发送到每一个客户端,在新的客户端启动的时候服务器端需要向所有已经启动的客户端发送相关的客户端识别信息.客户端向其他客户发送信息的时候又需要在服务器端进行中转.
最麻烦的是发送信息的时候,需要自己做一个协议,这个协议定义了信息的性质,发送的信息是属于普通信息,还是操作信息,如果是操作信息,还要反复的确认(比如关闭客户端、关闭服务器端等操作)。
现在很是郁闷,大学的时候为什么自己就会无所事事呢?真是后悔浪费了4年的美好时光啊!当初在学计算机网络的时候,自己都不知道考试是怎么过的。现在自己要做有关信息的传输的时候,刚开始根本就没有考虑协议的问题,结果出现很多的BUG,哎!路漫漫其修远兮,吾将上下而求索
分享到:
相关推荐
在本次Java课程设计中,我们构建了一个基于局域网的聊天系统,旨在让学生深入理解和应用Java网络编程技术,以及提高多线程处理、数据传输和用户交互方面的技能。这个系统允许在同一局域网内的用户通过简单易用的界面...
在IT行业中,网络编程是构建分布式系统和互联网应用程序的基础,而C语言因其高效、灵活性以及对底层硬件的接近性,常常被用作进行网络编程的首选语言。本篇将主要探讨C语言在网络编程中的应用,结合提供的“聊天程序...
《Java聊天室项目——橙汁聊天室》是一个基于Java实现的简单聊天室应用,它集成了群聊和私聊功能,允许用户进行实时交流,并且支持文件的上传和下载。这个项目不仅为用户提供了一个互动的沟通平台,还通过UDP协议...
通过以上介绍,我们可以看到,一个简单的局域网聊天系统客户端虽然看起来小巧,但涉及到的知识点却十分丰富,包括网络编程、多线程、UI设计、错误处理等多个方面。对于初学者而言,理解和实现这样一个项目,无疑是...
在"winsock&MFC网络编程-服务/客户端——源码"项目中,我们可以看到一个使用这两者构建的S/C(服务端/客户端)聊天程序。服务端程序负责监听客户端的连接请求,并处理来自多个客户端的消息。一旦有客户端连接,...
### XMPP高级编程——使用JavaScript和jQuery #### 一、XMPP协议概述 **XMPP**(eXtensible Messaging and Presence Protocol,可扩展消息处理现场协议)作为一种灵活且功能强大的协议,其核心在于提供一种机制,让...
在本篇Linux网络编程系列的第四部分中,我们将探讨如何使用多线程技术来实现一个简单的跨平台聊天应用。这个应用包含一个运行在Linux服务器端的程序和一个运行在Windows客户端的程序。通过多线程,我们可以提高系统...
【ASP.NET源码——[聊天留言]XPASP留言本.zip】是一个包含ASP.NET技术实现的聊天留言系统的源代码包。这个系统可能是一个简单的在线交互平台,允许用户在网站上发布和查看留言,从而促进交流与互动。以下是关于ASP...
总的来说,这个“ASP.NET源码——[聊天留言]美灵网络ASP.NET留言薄.zip”是一个实践性的学习资源,可以帮助开发者了解如何在ASP.NET环境中构建交互式的Web应用,特别是关于用户留言系统的实现。通过研究这个项目,你...
在IT领域,构建一个局域网聊天系统是学习网络编程和多用户交互的常见实践项目。本项目专注于服务器端的实现,使用了C++这一强大且广泛应用的编程语言。C++以其面向对象特性、高效性能和广泛库支持,非常适合开发这种...
在“ASP.NET源码——[聊天留言]搜搜.net留言本.zip”这个压缩包中,包含了一个基于ASP.NET实现的简单聊天留言系统,名为“[聊天留言]搜搜.net留言本 V1.0_topsogb10”。这个系统展示了如何利用ASP.NET的核心技术来...
这份实习报告详细记录了一个基于Java的简易聊天系统的开发过程,项目名为"My_QQ",旨在模仿QQ的基本功能,包括登录、注册、单人及多人聊天,并且退出应用。这个项目是针对J2SE平台设计的,主要运用了Java的面向对象...
1.1 网络编程相关的基本概念 1 1.1.1 网络编程与进程通信 1 1.1.2 Internet中网间进程的标识 3 1.1.3 网络协议的特征 7 1.2 三类网络编程 10 1.2.1 基于TCP/IP协议栈的网络编程 10 1.2.2 基于WWW应用的...
电子邮件系统是网络编程的另一个重要领域。本章将讲解SMTP和POP3协议,以及如何通过Winsock发送和接收邮件。6.3.3-3.2.txt可能包含关于邮件发送流程的详细步骤。 ### 第7章:Winsock API编程基础 Winsock是Windows...
在本篇《ActiveMQ实战——实现一个简易版的聊天室》中,我们将深入探讨如何利用Apache ActiveMQ构建一个简单的在线聊天应用。ActiveMQ是Apache软件基金会的一个开源项目,它是一款功能强大的消息中间件,用于在...
Java课程设计中的“Java聊天室程序源代码”是一项常见的实践项目,旨在帮助学生掌握网络编程、多线程以及用户交互等关键技能。这个程序允许多个用户通过网络连接在一个虚拟空间中进行实时通信,是一个典型的客户端-...
【网络课程设计——简单聊天系统的设计与实现】 网络聊天系统是一种常见的互联网应用程序,它允许用户通过网络进行实时的文本交流。本课程设计的目标是设计并实现一个简单的聊天系统,该系统具备基本的多人聊天功能...
这个“ASP.NET源码——[聊天留言]CK留言本(C820版).zip”文件包含了一个利用ASP.NET技术实现的在线聊天和留言系统,特别适用于网站互动功能的搭建。 在ASP.NET中,开发者可以使用C#或VB.NET等编程语言编写后端代码...
【网络课程设计——简单聊天系统的设计与实现】 网络课程设计的目标是设计并实现一个简单的聊天系统,该系统支持多人文本聊天,由服务器程序和客户端程序组成。开发平台选择了Eclipse,而程序运行环境为Windows XP...