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;
}
}
}
分享到:
相关推荐
基于UDP协议的Java聊天室案例程序,适合Java初学者,用来练习和熟悉Java中UDP通讯
Java模拟在线聊天室
用java制作的聊天软件,当然没有QQ那么高级,可以当做一个模型来分析
孙汝平java模拟聊天程序,一共俩,Chat.jar和ChatClient.jar 孙汝平java模拟聊天程序,一共俩,Chat.jar和ChatClient.jar
一个很小的java做的聊天程序,有需要得看看。 我是冰哥!
自己模拟QQ做的小系统,还有微信汽泡聊天效果!
java swing socket 实现简单的聊天 详情请联系QQ1823574190
java局域网聊天程序模拟QQ、
自己做的javaswing作业 模拟QQ聊天工具 进行多线程通信
Java QQ聊天程序源码,userInfo.properties拷贝到C盘根目录下,存放与服务器连接上的对应的Socket,作用是保存服务器与客户端之间的流,便于服务器给每个客户端进行回发消息。 SocketListener内部类:监听客户端...
JAVA模拟QQ在线聊天源代码全下载毕业设计
java swing 编程 模拟聊天室 首先启动服务端 填入端口号 启动服务 然后可以开启多个客户端 填写IP 端口 昵称之后 和服务端建立链接, 开始通信. 模拟多个用户之间的聊天.
实现 Socket 客户端 和服务器 交互, 实现TCP即时通讯。
用 JAVA写的 模拟QQ 聊天程序。。。。。。。。。。。在下载后,运行com.qq.server包地下的QQServer类,先把服务器启动起来,然后运行com.qq.clinet包地下的QQClinet类。运行客户端。中间需要输入绑定的端口自己设一...
实现Java Socket聊天多线程编程,图形化界面,多人聊天(群聊),私人聊天,是基于本地模拟的Java聊天程序。 Java Socket聊天程序是我用了三天的时间写出来,用Netbeans建的工程,图形化界面是Netbeans拖拉出来的,...
用java模拟的qq,包括登录,私聊,群聊功能,使用的SCOTT通信
一个服务端,一个客户端,客户端可以启多个,连上服务端后,多个客户端之间可以相互通信,具体效果请运行demo自行演示