package randomAccessFile;
import java.io.IOException;
import java.io.PipedReader;
//消息接收端
class Receive
{
static PipedReader pr;
static Send s;
public Receive() {
}
public Receive(Send s)
{
this.s=s;
}
public Receive(PipedReader pr,Send s)
{
super();
this.pr = pr;
this.s=s;
}
public static String recevie() throws IOException//接收消息
{
String l="";
char ch='\0';
while((ch=(char)pr.read())!='?')
{
l+=ch;
}
int length=Integer.parseInt(l);
char [] message=new char[length];
pr.read(message);
if(pr!=null)
{
// pr.close();
}
String m=new String(message);
System.out.println("收到消息:"+m);
if(m.equals("88"))
{
System.out.println("聊天结束!");
//关闭流
System.exit(0);
}
//继续通知发送
else
{
s.send();
}
return m;
}
}
package randomAccessFile;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PipedWriter;
//消息发送端
class Send
{
PipedWriter pw;
Receive rec;
public Send(PipedWriter pw)
{
this.pw=pw;
}
public Send(PipedWriter pw,Receive rec)
{
super();
this.pw = pw;
this.rec=rec;
}
public void send() throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String message="";
String messageTest="";
do
{
System.out.println("请输入你要发的消息:");
message=br.readLine();
messageTest=message.trim();//去掉左边空格
if(messageTest.length()==0)
{
System.out.println("不能发送空消息");
}
}
while(messageTest.equals(""));
System.out.println("你发送的内容是:"+message);
pw.write(message.length()+"?"+message);
//通知接收
rec=new Receive();
rec.recevie();
}
}
package randomAccessFile;
import java.io.*;
public class Test
{
public static void main(String[] args) throws IOException
{
PipedWriter pw=new PipedWriter();
PipedReader pr=new PipedReader();
Send s=new Send(pw);
Receive r=new Receive(pr,s);
pr.connect(pw);
boolean a=true;
try
{
while(a)
{
s.send();
r.recevie();
}
}
catch (IOException e)
{
e.printStackTrace();
}
if(pw!=null)
{
pw=null;
}
if(pr!=null)
{
pr=null;
}
}
}
分享到:
相关推荐
【Java模拟聊天软件】是一种基于Java编程语言开发的简单通讯工具,它可能包含了基础的文本聊天功能,允许用户间进行实时交互。虽然它的功能可能不如商业级的聊天软件如QQ全面,但作为学习和分析的对象,它能帮助我们...
基于UDP协议的Java聊天室案例程序,适合Java初学者,用来练习和熟悉Java中UDP通讯
在本项目中,"Java模拟在线聊天室"是一个基于Java编程语言实现的简易聊天应用程序,旨在提供一个模拟的网络环境,使用户能够进行实时的文字交流。这个程序通常涉及到多线程、网络编程以及用户界面设计等多个Java核心...
孙汝平java模拟聊天程序,一共俩,Chat.jar和ChatClient.jar 孙汝平java模拟聊天程序,一共俩,Chat.jar和ChatClient.jar
在Java编程语言中,开发一个简单的聊天程序涉及多个核心知识点,包括网络编程、多线程、输入/输出流以及对象序列化。以下是对这些概念的详细解释: 1. **网络编程**:Java提供了丰富的API来处理网络通信,如`java...
自己模拟QQ做的小系统,还有微信汽泡聊天效果!
在Java编程领域,使用Swing库和Socket网络编程可以实现一个基本的QQ聊天模拟器。以下将详细讲解这个过程中的关键知识点。 首先,Java Swing是Java标准库中的一个图形用户界面(GUI)工具包,用于构建桌面应用。它...
本项目"JAVA socket 模拟聊天室"旨在通过Socket技术,构建一个简单的客户端与服务器之间的即时通讯系统,让双方可以实时发送和接收消息。下面我们将深入探讨Socket的基本概念、工作原理以及如何使用Java实现一个简单...
Java简单聊天器模拟是一个基于网络通信的项目,主要利用了Socket编程来实现客户端与服务器端的交互。在本文中,我们将深入探讨这个项目的核心概念、技术实现和应用场景。 首先,我们要理解Socket的基本概念。Socket...
在"javaswing 模拟QQ聊天"这个项目中,我们看到一个学生或开发者尝试使用Java Swing来构建一个类似于QQ的聊天应用程序,这涉及到多线程通信,这是在进行实时交互应用时的关键技术。 1. **Java Swing基础知识**: -...
Java局域网聊天模拟QQ项目是一个使用Java编程语言实现的简单聊天应用,旨在模拟QQ的基本功能,让用户在局域网内可以进行实时通信。这个项目涵盖了多个Java技术和网络编程的关键概念,对于初学者和进阶者都是一个很好...
这个模拟聊天系统旨在提供类似于真实QQ应用的体验,包括用户登录、两人之间的私聊以及下线检测等核心功能。让我们逐步解析这个项目的关键知识点。 1. **Java基础**:Java是一种广泛使用的面向对象的编程语言,其...
总之,这个Java模拟聊天软件展示了网络编程的基本原理和实践方法,对于希望深入理解和掌握网络应用开发的初学者来说,是一份宝贵的参考资料。通过实际操作和学习,不仅可以提升编程技能,还能增强对网络通信机制的...
【JAVA模拟QQ在线聊天源码下载毕业设计】这个项目是一个基于Java编程语言实现的QQ聊天应用的模拟系统,主要用于帮助学生进行毕业设计实践。在这个项目中,你可以学习到如何运用Java技术来构建一个实时的、多用户交互...
Java QQ聊天程序源码,userInfo.properties拷贝到C盘根目录下,存放与服务器连接上的对应的Socket,作用是保存服务器与客户端之间的流,便于服务器给每个客户端进行回发消息。 SocketListener内部类:监听客户端...
在这个项目中,我们讨论的是如何使用Java Swing来创建一个模拟聊天室。这个聊天室包括一个服务端和多个客户端,允许用户通过填写IP地址、端口号和昵称进行多用户间的实时交流。 **服务端**是整个聊天系统的基石,它...
用 JAVA写的 模拟QQ 聊天程序。。。。。。。。。。。在下载后,运行com.qq.server包地下的QQServer类,先把服务器启动起来,然后运行com.qq.clinet包地下的QQClinet类。运行客户端。中间需要输入绑定的端口自己设一...