关于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();
}
}
}
分享到:
相关推荐
Java 实现聊天服务端是一个基于网络通信的编程项目,它涉及到多线程、Socket编程以及可能的并发处理等核心概念。在这个项目中,`chatServer` 文件很可能是服务端的主程序或者源代码文件。下面将详细介绍这个项目可能...
【标题】"java制作的聊天工具服务端源码"揭示了这个项目的核心是用Java编程语言构建的一个聊天工具的服务端程序。Java作为一种跨平台、面向对象的语言,常用于开发网络应用,尤其是服务器端软件,因为它提供了强大的...
1. **Java网络编程**:Java聊天室服务端基于Java的网络编程,主要使用`Socket`类来建立客户端和服务端之间的连接。`ServerSocket`用于监听客户端的连接请求,而`Socket`则代表一个实际的连接。 2. **多线程**:为了...
在IT领域,网络聊天应用程序是常见的项目之一,它涉及到客户端和服务端的通信,以及多用户同时在线交互。在这个“java联网聊天客户端服务端源代码”中,我们可以深入学习到Java编程语言在网络编程中的应用,特别是在...
Java在线聊天服务端和客户端源代码是实现即时通讯(IM)系统的一种常见方式,它基于Java语言和Socket通信协议。这个项目可能包含了实现一个简单聊天应用的所有必要组件,包括服务端和客户端的逻辑处理、数据传输以及...
【Java聊天工具服务端与客户端实现详解】 Java作为一种多平台支持的编程语言,因其丰富的类库和强大的网络功能,常被用于开发各种网络应用,包括聊天工具。本篇将深入探讨如何利用Java实现一个完整的聊天工具,包括...
综上所述,"Java做的IM聊天软件服务端"是一个涉及多方面技术的复杂系统,涵盖了网络通信、数据存储、用户管理、日志分析等多个领域,通过合理的技术选型和设计,可以构建出高效、稳定且安全的即时通讯服务。
通过分析和研究这些源代码,开发者不仅可以掌握C/S架构的基本原理,还能学习到Java网络编程、多线程、数据交换和数据库操作等多方面的知识。这对于提升Java编程技能和理解分布式系统的设计思路非常有帮助。
总结来说,"JAVA聊天服务端客户端"是一个涵盖Java网络编程、多线程、用户界面设计、数据传输安全等多个领域的项目。服务端和客户端通过Socket通信,处理并发连接,并确保数据的安全传输。了解这些知识点对于开发和...
摘要:Java源码,网络相关,聊天程序 一个Java聊天程序服务端和客户端程序,C/S结构,ChatServer 类实现了一个聊天室服务器端, 此类有一个构造器, 在构造器中使用newServerSocket()建立一个Socket 连接。RunServer()...
Java聊天程序,服务端和客户端两个源代码,运行于WEb平台,内容涉及到Applet布局管理器,增加面板到...C/S结构的网络聊天室,同时也是Java程序爱好者初学Java网络编程的典型入门实例。聊天程序客户端运行截图如上所示。
Java网络编程是开发分布式应用程序的关键技术,特别是在构建客户端和服务器通信的应用中。在这个"java-客户端和服务端的聊天demo.zip"压缩包中,提供了一个基于TCP协议的简单在线聊天示例,非常适合初学者理解网络...
在本项目中,"聊天工具Java客户端和服务端代码" 是一个使用Java编程语言实现的简易聊天应用程序,旨在模仿著名的即时通讯软件QQ的功能。这个项目涵盖了Java多线程编程和网络编程的核心概念,对于想要深入理解这两个...
本次课程设计是一个类似于QQ的聊天软件,结合所学Java课程,用Java完成了图形化界面和事件处理、多线程编程、Socket通信、数据库存储,保存通信记录的功能,完成网络聊天软件。进行编程实验,程序代码编写、调试、...
4. **Spring框架**:Spring是Java开发中最流行的服务端框架之一,提供了Model-View-Controller(MVC)架构,简化了客户端与服务端的交互。Spring MVC模块支持RESTful Web服务,便于创建高效、可测试的API。 5. **...
Java基于TCP/IP的聊天室是一种实现用户间实时通信的应用程序,它依赖于网络协议TCP/IP进行数据传输。在这个系统中,通常包含两个主要组件:服务器端和客户端。 **TCP/IP协议**是Transmission Control Protocol/...
【标题】:“Android聊天室...综上所述,"Android聊天室(Java服务端)"项目涵盖了从基础的网络编程到复杂的并发处理、数据库操作以及安全性等多个关键知识点,对于提升开发者在实际项目中的技术能力具有重要意义。
本项目是基于Java技术实现的一个高仿QQ聊天界面,包括服务端(QQServer)和客户端(QQClient)两部分。该项目旨在为学习Java编程和网络通信的开发者提供一个实战参考,通过此项目,可以深入理解Java图形用户界面...
在Java编程中,实现客户端与服务端的通信通常涉及到网络编程的基本概念,主要使用到`java.net`和`java.io`这两个包中的类。这里提到的`Socket`命令是Java中用于建立网络连接的关键组件,它允许应用程序通过TCP/IP...
这个程序包含了服务端(Server)和客户端(Client)两部分,是学习Java网络编程和多线程通信的一个经典实例。 在Java中,网络通信通常基于TCP或UDP协议。在这个聊天程序中,服务端负责监听客户端的连接请求,并处理...