`
吃猫的鱼
  • 浏览: 45495 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java网络聊天之服务端

阅读更多

  关于Java的Socket编程,不在啰嗦,仅作为自己学习、总结mark之用,各位收下留情。

  【Socket读取】:

/**
 * [Product]
 *     netChat
 * [Copyright]
 *     Copyright © 2012 All Rights Reserved.
 * [FileName]
 *     ServerReader.java
 * [History]
 *     Version  Date      Author     Content
 *     -------- --------- ---------- ------------------------
 *     1.0.0    2012-3-12   yangchao    最初版本
 */
package com.net.chat.server;

import java.io.DataInputStream;
import java.io.IOException;

/**
 * <b>Summary: </b> 
 * 		服务端Socket读取类
 * <b>Remarks: </b> 
 * 		服务端Socket读取类
 */
public class ServerReader extends Thread {
	private DataInputStream dis;

	public ServerReader(DataInputStream dis) {
		this.dis = dis;
	}

	public void run() {
		String info;
		try {
			while (true) {
				info = dis.readUTF();
				System.out.println("对方说:" + info);

				if (info.equals("bye")) {
					System.out.print("对方已退出");
					System.exit(0);
				}

			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

  【Socket写入】:  

/**
 * [Product]
 *     netChat
 * [Copyright]
 *     Copyright © 2012 All Rights Reserved.
 * [FileName]
 *     ServerWriter.java
 * [History]
 *     Version  Date      Author     Content
 *     -------- --------- ---------- ------------------------
 *     1.0.0    2012-3-12   yangchao    最初版本
 */
package com.net.chat.server;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * <b>Summary: </b>
 *      服务端Socket写入类
 * <b>Remarks: </b>
 *        服务端Socket写入类
 */
public class ServerWriter extends Thread {
	private DataOutputStream dos;

	public ServerWriter(DataOutputStream dos) {
		this.dos = dos;
	}

	public void run() {
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader bf = new BufferedReader(isr);
		String info;
		while (true) {
			try {
				info = bf.readLine();
				dos.writeUTF(info);
				if (info.equals("bye")) {
					System.out.print("你已经下线");
					System.exit(0);
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

 【服务端Main方法】 

  /**
 * [Product]
 *     netChat
 * [Copyright]
 *     Copyright © 2012 All Rights Reserved.
 * [FileName]
 *     TestServer.java
 * [History]
 *     Version  Date      Author     Content
 *     -------- --------- ---------- ------------------------
 *     1.0.0    2012-3-12   yangchao    最初版本
 */
package com.net.chat.server;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * <b>Summary: </b>
 *      服务端 Main 方法
 * <b>Remarks: </b>
 *        服务端 Main 方法
 */
public class TestServer {
 public static void main(String[] args) {
  try {
   ServerSocket s = new ServerSocket(8888);
   Socket s1 = s.accept();

   InputStream is = s1.getInputStream();
   DataInputStream dis = new DataInputStream(is);

   OutputStream os = s1.getOutputStream();
   DataOutputStream dos = new DataOutputStream(os);

   new ServerReader(dis).start();
   new ServerWriter(dos).start();

  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

 

0
0
分享到:
评论

相关推荐

    java实现聊天的服务端

    Java 实现聊天服务端是一个基于网络通信的编程项目,它涉及到多线程、Socket编程以及可能的并发处理等核心概念。在这个项目中,`chatServer` 文件很可能是服务端的主程序或者源代码文件。下面将详细介绍这个项目可能...

    java制作的聊天工具服务端源码

    【标题】"java制作的聊天工具服务端源码"揭示了这个项目的核心是用Java编程语言构建的一个聊天工具的服务端程序。Java作为一种跨平台、面向对象的语言,常用于开发网络应用,尤其是服务器端软件,因为它提供了强大的...

    java聊天室服务端代码

    1. **Java网络编程**:Java聊天室服务端基于Java的网络编程,主要使用`Socket`类来建立客户端和服务端之间的连接。`ServerSocket`用于监听客户端的连接请求,而`Socket`则代表一个实际的连接。 2. **多线程**:为了...

    java联网聊天客户端服务端源代码

    在IT领域,网络聊天应用程序是常见的项目之一,它涉及到客户端和服务端的通信,以及多用户同时在线交互。在这个“java联网聊天客户端服务端源代码”中,我们可以深入学习到Java编程语言在网络编程中的应用,特别是在...

    java在线聊天服务端跟客户端源代码

    Java在线聊天服务端和客户端源代码是实现即时通讯(IM)系统的一种常见方式,它基于Java语言和Socket通信协议。这个项目可能包含了实现一个简单聊天应用的所有必要组件,包括服务端和客户端的逻辑处理、数据传输以及...

    java聊天工具服务端和客户端加面板完整代码

    【Java聊天工具服务端与客户端实现详解】 Java作为一种多平台支持的编程语言,因其丰富的类库和强大的网络功能,常被用于开发各种网络应用,包括聊天工具。本篇将深入探讨如何利用Java实现一个完整的聊天工具,包括...

    Java做的IM聊天软件服务端

    综上所述,"Java做的IM聊天软件服务端"是一个涉及多方面技术的复杂系统,涵盖了网络通信、数据存储、用户管理、日志分析等多个领域,通过合理的技术选型和设计,可以构建出高效、稳定且安全的即时通讯服务。

    基于c/s架构的JAVA聊天程序 ,服务端和客户端都有

    通过分析和研究这些源代码,开发者不仅可以掌握C/S架构的基本原理,还能学习到Java网络编程、多线程、数据交换和数据库操作等多方面的知识。这对于提升Java编程技能和理解分布式系统的设计思路非常有帮助。

    JAVA聊天 服务端 客户端

    总结来说,"JAVA聊天服务端客户端"是一个涵盖Java网络编程、多线程、用户界面设计、数据传输安全等多个领域的项目。服务端和客户端通过Socket通信,处理并发连接,并确保数据的安全传输。了解这些知识点对于开发和...

    Java聊天程序服务端和客户端程序

    摘要:Java源码,网络相关,聊天程序 一个Java聊天程序服务端和客户端程序,C/S结构,ChatServer 类实现了一个聊天室服务器端, 此类有一个构造器, 在构造器中使用newServerSocket()建立一个Socket 连接。RunServer()...

    Java聊天程序,服务端和客户端两个源代码.rar

    Java聊天程序,服务端和客户端两个源代码,运行于WEb平台,内容涉及到Applet布局管理器,增加面板到...C/S结构的网络聊天室,同时也是Java程序爱好者初学Java网络编程的典型入门实例。聊天程序客户端运行截图如上所示。

    java-客户端和服务端的聊天demo.zip

    Java网络编程是开发分布式应用程序的关键技术,特别是在构建客户端和服务器通信的应用中。在这个"java-客户端和服务端的聊天demo.zip"压缩包中,提供了一个基于TCP协议的简单在线聊天示例,非常适合初学者理解网络...

    聊天工具Java客户端和服务端代码

    在本项目中,"聊天工具Java客户端和服务端代码" 是一个使用Java编程语言实现的简易聊天应用程序,旨在模仿著名的即时通讯软件QQ的功能。这个项目涵盖了Java多线程编程和网络编程的核心概念,对于想要深入理解这两个...

    基于Java的网络聊天系统的设计与实现(源码+说明文档)

    本次课程设计是一个类似于QQ的聊天软件,结合所学Java课程,用Java完成了图形化界面和事件处理、多线程编程、Socket通信、数据库存储,保存通信记录的功能,完成网络聊天软件。进行编程实验,程序代码编写、调试、...

    Java版-客户端与服务端

    4. **Spring框架**:Spring是Java开发中最流行的服务端框架之一,提供了Model-View-Controller(MVC)架构,简化了客户端与服务端的交互。Spring MVC模块支持RESTful Web服务,便于创建高效、可测试的API。 5. **...

    java基于TCP/IP的聊天室

    Java基于TCP/IP的聊天室是一种实现用户间实时通信的应用程序,它依赖于网络协议TCP/IP进行数据传输。在这个系统中,通常包含两个主要组件:服务器端和客户端。 **TCP/IP协议**是Transmission Control Protocol/...

    android 聊天室 (java服务端)

    【标题】:“Android聊天室...综上所述,"Android聊天室(Java服务端)"项目涵盖了从基础的网络编程到复杂的并发处理、数据库操作以及安全性等多个关键知识点,对于提升开发者在实际项目中的技术能力具有重要意义。

    Java高仿QQ聊天界面(含服务端以及客户端源码) .zip

    本项目是基于Java技术实现的一个高仿QQ聊天界面,包括服务端(QQServer)和客户端(QQClient)两部分。该项目旨在为学习Java编程和网络通信的开发者提供一个实战参考,通过此项目,可以深入理解Java图形用户界面...

    java实现客户端与服务端通信

    在Java编程中,实现客户端与服务端的通信通常涉及到网络编程的基本概念,主要使用到`java.net`和`java.io`这两个包中的类。这里提到的`Socket`命令是Java中用于建立网络连接的关键组件,它允许应用程序通过TCP/IP...

    java源码:Java聊天程序,包括服务端和客户端.rar

    这个程序包含了服务端(Server)和客户端(Client)两部分,是学习Java网络编程和多线程通信的一个经典实例。 在Java中,网络通信通常基于TCP或UDP协议。在这个聊天程序中,服务端负责监听客户端的连接请求,并处理...

Global site tag (gtag.js) - Google Analytics