前面发了服务端,下面是客户端
【Socket读取】
/**
* [Product]
* netChat
* [Copyright]
* Copyright © 2012 All Rights Reserved.
* [FileName]
* ClientReader.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 2012-3-12 yangchao 最初版本
*/
package com.net.chat.client;
import java.io.DataInputStream;
import java.io.IOException;
/**
* <b>Summary: </b>
* 客户端端Socket读取类
* <b>Remarks: </b>
* 客户端端Socket读取类
*/
public class ClientReader extends Thread{
private DataInputStream dis;
public ClientReader(DataInputStream s) {
this.dis = s;
}
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]
* ClientWriter.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 2012-3-12 yangchao 最初版本
*/
package com.net.chat.client;
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 ClientWriter extends Thread{
private DataOutputStream dos;
public ClientWriter(DataOutputStream s) {
this.dos = s;
}
public void run() {
String info;
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader bf = new BufferedReader(is);
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]
* TestClient.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 2012-3-12 yangchao 最初版本
*/
package com.net.chat.client;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* <b>Summary: </b>
* 客户端Main方法
* <b>Remarks: </b>
* 客户端Main方法
*/
public class TestClient {
public static void main(String[] args) {
try {
Socket s1 = new Socket("127.0.0.1", 8888);
OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream(is);
new ClientReader(dis).start();
new ClientWriter(dos).start();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
【Java聊天室客户端】是一个基于Java技术开发的实时通信应用,它允许用户通过网络进行文本聊天。这个项目的核心目标是创建一个用户友好的界面,提供登录功能以及一个互动的聊天平台。下面将详细介绍该客户端的一些...
总结来说,"JAVA聊天服务端客户端"是一个涵盖Java网络编程、多线程、用户界面设计、数据传输安全等多个领域的项目。服务端和客户端通过Socket通信,处理并发连接,并确保数据的安全传输。了解这些知识点对于开发和...
在Java通信项目中,客户端UI实现以及交互是构建应用程序的关键部分,尤其是对于类QQ聊天软件这样的实时通讯平台。本文将深入探讨如何使用Java技术来设计和实现用户界面,并确保其与后端通信的有效交互。 首先,我们...
通过学习和理解这个项目,开发者不仅可以深入理解Java网络编程,还能掌握客户端应用的设计和实现。对于进一步开发类似应用或者提升网络编程技能,这是一个很好的实践案例。在HDClient文件中,包含了客户端的全部源...
同时,这也是一个很好的学习机会,让你深入理解Java网络编程和多线程编程的基础知识。 总之,创建一个Java聊天室客户端是一个涉及多种技术的综合项目,它涵盖了GUI编程、网络通信和并发编程等多个方面,对于提升...
实验四是这一学习过程中的一个关键环节,学生们可能需要根据指导完成一个基本的Java聊天客户端,通过实际操作加深对Java网络编程和多线程的理解。在这个过程中,他们会遇到并解决各种问题,如连接超时、数据解析错误...
Java聊天客户端是一款基于Java编程语言实现的实时通讯应用,它允许用户通过网络进行文本、语音甚至视频的交流。本文将深入探讨Java聊天客户端的核心技术、设计原则和实现过程。 一、核心技术 1. Java Socket编程:...
总的来说,这个Java聊天程序课程设计涵盖了网络编程的核心要素,通过实践可以深入了解客户端-服务器架构的工作原理,以及Java在这一领域的应用。无论你是初学者还是有一定经验的开发者,这个项目都将是一次宝贵的...
### Java网络聊天客户端知识点 #### 一、项目概述 本项目为一个简单的Java网络聊天客户端程序,主要功能是实现客户端与服务器之间的基本文本聊天交互。客户端通过Socket编程连接到指定的服务器地址(本例中为...
这个项目对于学习Java网络编程、多线程以及GUI设计等技术有着很好的实践价值。下面我们将详细探讨这个项目所涉及的知识点。 1. **Java基础知识**:首先,你需要对Java有基本的了解,包括语法、类和对象的概念、异常...
Java 仿QQ聊天程序源代码,包括了聊天客户端和服务器,前几年的程序,不过现在学习Java仍然很有用,一些方法和思路还是很值得学习的,对于转型Android开发的话,同样具有很强的借鉴意义。本Java聊天实例代码完整,...
"Java聊天室服务器客户端"项目就是利用Java的基础知识,特别是在客户端-服务器通信领域的应用,具体涉及Java Socket编程。本篇将深入探讨Java Socket通信以及如何构建一个简单的聊天室服务器和客户端。 Java Socket...
在本项目中,"java多人聊天客户端,模拟聊天室"是一个使用Java编程语言实现的课程作业,旨在构建一个基本的在线聊天系统。这个系统允许多个用户登录并进行实时的文本交流,模拟了实际聊天室的功能。以下是这个项目...
Java聊天室客户端是一种基于Java编程语言实现的网络通信应用程序,它允许用户通过互联网与其他用户进行实时文本交流。在这个项目中,开发者使用了Java的核心特性以及网络编程技术来创建了一个功能完善的客户端。以下...
综上所述,这个Java多人聊天系统展示了Java网络编程的基本原理和实践,包括Socket通信、多线程处理、以及简单的文本协议。对于初学者来说,这是一个很好的学习和实践项目,可以帮助理解网络编程的关键概念。
用java编写的网络聊天室,包括服务器和客户端程序, 资源不错,所以转载过来,感谢这位作者。
同时,Java 语言也提供了对计算机网络编程的基本理论知识,如 TCP/IP 协议、客户端/服务器端模式(Client/Server 模式)、网络编程的设计方法等。 系统设计 该系统主要包括了服务器端和客户端界面使用两部分。...
2. **Java网络编程**: - **Socket编程**:Java的`java.net.Socket`和`ServerSocket`类用于建立TCP连接,实现客户端和服务器的通信。 - **DatagramSocket**:对于UDP协议,使用`DatagramSocket`和`DatagramPacket`...
Java聊天室客户端源代码是一个基于Java编程语言实现的简单聊天应用程序,它允许用户与其他在线用户进行实时交流。这个源代码提供了基本的聊天功能,对于初学者来说,是学习网络编程和多线程通信的一个很好的实践案例...
Java聊天室程序是一种基于网络通信的应用,它包含服务器和客户端两个关键部分。在这个场景中,`Server.java` 文件是服务器端代码,而 `Client.java` 文件则是客户端代码。以下是关于这个Java聊天室程序的一些详细...