`
zuozhimin
  • 浏览: 5944 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

简单的聊天室实现

阅读更多
    我们在创建聊天室的时候,主要都是运用java.net包下面的类;
     创建聊天室需要了解TCP/IP协议方面的内容,我推荐几本书,大家可以参考,TCP/IP详解卷一、卷二、卷三版三本;
     现在我们用的只是最基础的,大家应该都知道我们IP地址吧,其中端口号了解吗?我给大家打个比方:我现在要邮寄一个东西到你家,我除了要知道你家是哪个城市哪条街哪栋房子外,我还必须要知道你是那栋房子的哪间房,只有这样我才能把东西准确的送到你门口;我们的IP地址就是相比于我们所处的城市街道和哪一栋,这样根据IP地址我们找到了相对应的电脑,但是每台电脑都有很多程序,信息怎么知道要找到哪个程序呢,这就要靠端口,我们电脑里面的每个程序都有一个端口号,就相当于一栋房子有很多房间,其中端口号就相当于房间号;根据端口号我们的信息才能准确的发送到相应的程序;
      现在我们要创建一个聊天室就必须先创建一个服务器,这个服务器以前是不存在我们电脑上就不存在端口号,所以我们就必须先赋予服务器一个端口号,我们要新建的端口号必须是我们电脑上没有用过的端口号,不然就会报错;我们电脑现在启动了哪些端口我们可以在cmd中输入netstat -an这个命令符来查看;
     下面就是我们创建一个服务器的代码:
	/**
	 * 实现信息传输的方法
	 */
	public void setUpServer(int port){
		try {
			//创建绑定在指定端口上的服务器对象,即服务器套接字(拥有一个手机,但没开机,不能通信)
			java.net.ServerSocket server = new java.net.ServerSocket(port);
			System.out.println("服务器创建成功!端口为"+port+"!");
			//获取客户端套接字(手机开机,等待别人打电话过来,现在处于待机状态)
			while(true){
				java.net.Socket socket = server.accept();
				System.out.println("客户机与服务器连接成功!");
				//创建输入、输出流对象;套接字获取的输入输出流都是输入输出的抽象类类型
				java.io.InputStream is = socket.getInputStream();
				java.io.OutputStream os = socket.getOutputStream();
				//创建要发出的字符串
				String s="你好!!我是某某某!!";
				byte[] string = s.getBytes();//字符串转化为字节放入数组
				os.write(string);
				//强制输出,关闭流
				os.flush();
				socket.close();//半闭与客户机连接
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

    这样我们就建立了最简单的聊天室,我们启动服务器后只需要在cmd中输入命令telnet localhost port(port是我们传入的端口号),这样我们就能收到服务器发来的一句话“你好!!我是某某某!!”;
     但是我们这样连接后看到,只要我们一连接上收到数据就断开了,我们还是无法进行聊天,我需要对以上代码进行扩展:
                                   int in=0;
				while(in!=13){
					in=is.read();
					System.out.println("读到的一个是:"+in);
				}
				System.out.println("客户按了回车键,并退出"+in);
				System.out.println("服务器处在在等待连接中...");
				os.close();

我们可以把上面这段代码添加到前面的那段代码的socket.close()的前面,这样我们在客户机上输入数据,服务器上都能收到,只是显示的是相应的ASCALL码,我们如果要显示正常字符,我们只要把他转化为字符即可;
分享到:
评论

相关推荐

    简单聊天室实现

    【标题】"简单聊天室实现"揭示了一个编程项目,它基于Beetle库构建了一个基本的聊天室应用程序。Beetle通常是一个用C#编写的高性能Socket TCP组件,旨在简化网络通信,特别是对于实时和高吞吐量的应用场景。在这个...

    【11.简单聊天室实现】

    简单聊天室实现】是一个基于QT客户端技术的项目,主要目标是构建一个基本的在线聊天平台,让用户能够进行实时的文本交流。在这个项目中,QT客户端库扮演了核心角色,它提供了丰富的功能和易用的API,使得开发者可以...

    QT tcp 最简单聊天室实现

    对于QT中QTcpServer和QTcpSocket的应用,最简单化的逻辑代码设计,附带打包程序,总代码少的批爆,适合初学和参考手册用。

    Java课设-简单聊天室的实现源码.zip

    Java课设-简单聊天室的实现源码.zipJava课设-简单聊天室的实现源码.zipJava课设-简单聊天室的实现源码.zipJava课设-简单聊天室的实现源码.zipJava课设-简单聊天室的实现源码.zipJava课设-简单聊天室的实现源码.zip...

    flash +asp.net Socket 简单聊天室实现

    利用socket开发的简单flash聊天室,后台使用c#开发socket服务器,例子比较简单,只是实现了socket与flash通信,相信大家会有启发。 资源内容: c#源程序和已经发布了的服务器: as3.0 测试源程序,

    利用servlet技术实现一个简单的聊天室

    实验1: 利用servlet实现一个简单的聊天室 实验目的 (1) 理解servlet的工作原理 (2) 掌握servlet编程基本技能 实验内容及要求 1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息...

    简单聊天室简单聊天室简单聊天室C#

    【标题】:“简单聊天室简单聊天室简单聊天室C#” 【描述】:“一个简单的聊天室,基于webservice,采用C#编程语言实现。” 【标签】:“简单聊天室”、“简单”、“聊天室”、“聊天”、“C#” 在这个项目中,...

    JSP实现简单的聊天室

    **JSP实现简单的聊天室** 在Web开发领域,JavaServer Pages (JSP) 是一种用于构建动态网页的技术,它允许开发者将HTML代码与Java代码相结合,以实现服务器端的业务逻辑处理。本项目以"JSP实现简单的聊天室"为例,...

    linux下实现简单的聊天室

    在Linux环境下,构建一个简单的聊天室是一个典型的网络编程任务,主要涉及到UDP(User Datagram Protocol)协议的应用。UDP是一种无连接的、不可靠的传输层协议,适合于对实时性要求较高但对数据完整性要求不那么...

    简单Ajax聊天室 实现聊天功能

    本项目“简单Ajax聊天室 实现聊天功能”利用ASP.NET框架和Ajax技术,构建了一个实时、交互性强的在线聊天平台。在这个聊天室中,用户不仅能发送文字消息,还能调整字体样式、颜色,并发送QQ表情,极大地提升了用户...

    ajax Timer UpdatePanel UpdateProgress 示例代码,简单聊天室,源代码

    4. **简单聊天室实现**: - 用户界面:通常包含输入框让用户输入消息,一个发送按钮,以及一个UpdatePanel展示聊天历史。 - 服务器端逻辑:接收新消息并存储到数据库,当Timer触发时,查询最新消息并返回给客户端...

    简单的聊天室(基于CSocket,C/S)

    在这个项目中,我们将关注的是一个基于CSocket库的简单聊天室实现,它是用Visual C++ 6.0编译器完成的。对于初学者来说,这是一个很好的起点,因为它将介绍如何使用非阻塞I/O模式来处理并发连接。 【CSocket基础】 ...

    JAVA实现简单聊天室

    在本文中,我们将深入探讨如何使用Java语言来实现一个简单的聊天室功能。Java作为一种多线程、面向对象的编程语言,非常适合构建实时交互系统如聊天室。我们将涵盖以下几个关键知识点: 1. **Java Socket编程**:...

    Socket实现简单聊天室

    在这个“Socket实现简单聊天室”的项目中,我们可以通过Socket来构建一个基础的在线聊天系统。以下将详细阐述Socket编程的基本概念,以及如何利用它来创建聊天室。 首先,Socket是基于TCP/IP协议族的一种通信接口,...

    使用Qt 实现简单聊天室

    以下是实现简单聊天室的主要步骤: 1. **服务器端实现**: - 创建`QTcpServer`实例,调用`listen()`方法开启监听特定端口。 - 当有新的连接请求时,`newConnection()`信号会被触发。通过`nextPendingConnection()...

    简单的聊天室C#(asp.net)

    在本项目中,"简单的聊天室C#(asp.net)"是一个使用C#语言和ASP.NET框架构建的网络应用程序,旨在实现一个基本的在线聊天功能。这个项目包含了多个小实验和一个综合实验,覆盖了从基础到进阶的ASP.NET开发技术。...

    聊天室实现

    聊天室实现 本文主要介绍了基于 Java 语言的聊天室系统的设计和实现。该系统主要由登录页面、验证页面、聊天室页面、离开页面、查看聊客页面、帮助页面等页面构成。整个设计简洁明了、实用,使用简单。本系统实现了...

    Java基于Swing实现的简单聊天室,支持多人在线闲谈.zip

    这个“Java基于Swing实现的简单聊天室,支持多人在线闲谈.zip”文件是一个示例项目,展示了如何利用Swing构建一个基本的多用户聊天应用。下面将详细阐述其涉及的关键知识点。 1. **Swing组件**:Swing提供了丰富的...

    linux下的简单聊天室源代码(c语言实现)

    这个"linux下的简单聊天室源代码(c语言实现)"为初学者提供了一个基础的平台,了解如何在Linux上创建一个简单的多用户聊天应用。下面将详细阐述相关知识点。 1. **套接字(Sockets)编程**: 套接字是网络通信的...

    ASP.NET实现的简单聊天室网站

    使用ASP.NET实现的简单聊天室网站,使用SQL Server2005. 实现了聊天室基本一些功能,如用户注册、登录,房间分类,进入退出房间,在线聊天,后台管理等功能。开发IDE为visual studio 2008.

Global site tag (gtag.js) - Google Analytics