`
郑云飞
  • 浏览: 818536 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自由聊天程序

阅读更多
package test;

import java.io.*;
import java.net.Socket;

public class TestClient
{
	public static void main(String[] args)
	{
		try
		{
			Socket s=new Socket("localhost",8888);
			System.out.println("已经和服务器建立连接");
			DataInputStream dis=new DataInputStream(s.getInputStream());
			DataOutputStream dos=new DataOutputStream(s.getOutputStream());
			new MyClientReader(dis).start();
			new MyClientWriter(dos).start();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
}
class MyClientReader extends Thread
{
	private DataInputStream dis;

	public MyClientReader(DataInputStream dis)
	{
		super();
		this.dis = dis;
	}
	public void run()
	{
		String message;
		try
		{
			while(true)
			{
				message=dis.readUTF();
				System.out.println("服务端说:"+message);
				if(message.equals("88"))
				{
					System.out.println("对方已经下线,程序退出");
					System.exit(0);
				}
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}
class MyClientWriter extends Thread
{
	private DataOutputStream dos;

	public MyClientWriter(DataOutputStream dos)
	{
		super();
		this.dos = dos;
	}
	public void run()
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String message;
		try
		{
    		while(true)
    		{
    			System.out.print("请输入消息:");
    			message=br.readLine();
    			dos.writeUTF(message);
    			if(message.equals("88"))
    			{
    				System.out.println("自己下线,程序退出");
    				System.exit(0);
    			}
    		}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
}

 

package test;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class TestServer
{
	public static void main(String[] args)
	{
		System.out.println("服务器启动成功");
		try
		{
			ServerSocket ss=new ServerSocket(8888);
			Socket s=ss.accept();
			System.out.println("已经和客户端建立连接");
			OutputStream os=s.getOutputStream();
			DataOutputStream dos=new DataOutputStream(os);
			InputStream is=s.getInputStream();
			DataInputStream dis=new DataInputStream(is);
			new MyServerReader(dis).start();
			new MyServerWriter(dos).start();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
}
class MyServerReader extends Thread
{
	private DataInputStream dis;

	public MyServerReader(DataInputStream dis)
	{
		super();
		this.dis = dis;
	}
	public void run()
	{
		String message;
		try
		{
			while(true)
			{
				message=dis.readUTF();
				System.out.println("客户端说:"+message);
				if(message.equals("88"))
				{
					System.out.println("对方下线,程序退出");
					System.exit(0);
				}
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
}
class MyServerWriter extends Thread
{
	private DataOutputStream dos;

	public MyServerWriter(DataOutputStream dos)
	{
		super();
		this.dos = dos;
	}
	public void run()
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String message;
		try
		{
    		while(true)
    		{
    			message=br.readLine();
    			dos.writeUTF(message);
    			if(message.equals("88"))
    			{
    				System.out.println("自己下线,程序退出");
    				System.exit(0);
    			}
    		}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}


 

分享到:
评论

相关推荐

    JAVA Applet自由聊天程序

    这个“JAVA Applet自由聊天程序”显然是一款基于Java Applet技术的在线聊天工具,用户可以通过浏览器直接进行实时交流。下面将详细介绍相关的知识点。 1. **Java Applet**: Java Applet是一种嵌入在HTML页面中的...

    java写的一个小聊天室程序

    这是一个基于Java语言开发的小型聊天室程序,使用了NetBeans 6.1作为集成开发环境进行可视化设计。这个项目展示了如何在Java中实现一个基本的即时通讯应用,它具有友好的用户界面和全面的注释,方便其他开发者理解和...

    基于NetBeans的J2EE网页聊天系统

    【标题】基于NetBeans的J2EE网页聊天系统 【正文】 在当今互联网技术日新月异的时代,构建一个实时的、交互式的网页聊天系统已经成为众多开发者和企业的需求。本项目"基于NetBeans的J2EE网页聊天系统"提供了一个...

    基于c/s架构的JAVA聊天程序

    在IT领域,C/S(Client/Server)架构是一种常见的分布式应用结构,主要用于构建网络应用程序,如我们这里的"基于C/S架构的JAVA聊天程序"。在这个系统中,客户端(Client)负责用户交互,而服务器端(Server)处理...

    一步一步教你用netbeans做程序

    NetBeans是一个功能强大的Java集成开发环境(IDE),本文将一步一步指导读者使用NetBeans开发一个简单的Java程序。 标题解读 “一步一步教你用NetBeans做程序”的标题表明了本文的目的,即指导读者使用NetBeans开发...

    简单的图形聊天程序喔

    【图形聊天程序】是一种在局域网环境下实现的通信应用,允许用户通过图形化界面进行实时文字、语音或视频交流,而无需连接互联网。这款"简单的图形聊天程序"旨在提供一个简便、快捷的沟通方式,使得在同一网络环境下...

    socketjava源码-socket-chat:这是使用netbeansIDE进行的简单一对一聊天应用程序的Java源代码

    在Java编程语言中,Socket是网络通信的基础,它允许两个应用程序通过网络进行数据交换,实现客户端与服务器端的通信。本项目"socket-java-source-code-chat"是一个基于NetBeans IDE的一对一聊天应用示例,旨在帮助...

    简单的局域网二人聊天程序

    【标题】"简单的局域网二人聊天程序"揭示了这是一个基于C#编程语言设计的,专为局域网内两台计算机之间实现简单聊天功能的应用程序。在IT领域,这样的程序通常利用网络套接字(Sockets)进行通信,允许用户在同一个...

    java聊天小程序

    这样,聊天消息(可能包含文本、时间戳等信息)就可以在客户端和服务端之间自由流动。 考虑到局域网内的通信,程序可能采用多线程处理,每个连接的客户端都会分配一个独立的线程来处理与该客户端的通信,以保证并发...

    网络聊天程序合集 网络聊天程序合集

    网络聊天程序合集。这是我学习网络时在网上找到的资源,对学习网络很有帮助的。由于比较多,所以分成几部分上传,每一个都是相对独立的,可以自由下载。

    C++2010编写的UDP协议聊天程序

    使用UDP协议编写聊天软件,使得客户端之间可以自由地进行键盘聊天。 程序的具体要求: 1)在DOS下运行,能提供聊天内容输入界面和收到的文字聊天内容。 2)允许客户选择不同的其他客户方进行聊天,由于在一台机器上...

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

    【标题】中的“基于c/s架构的JAVA聊天程序”指的是使用客户端/服务器(Client-Server,简称C/S)模式设计的Java聊天应用。C/S架构是一种典型的两层或三层架构,其中客户端负责用户交互,而服务器则处理业务逻辑和...

    linux下的聊天程序

    在Linux环境下,开发聊天程序是一项涉及网络编程和操作系统交互的重要任务。这个项目提供了一个基本的框架,包括一个服务器端和一个或多个客户端,基于socket通信协议实现异步通信。下面我们将详细探讨相关知识点。 ...

    聊天小程序

    在公聊功能方面,【聊天小程序】允许用户在公共聊天室中自由发表消息,进行集体讨论。这种模式适用于团队协作、线上活动或者兴趣小组等场合,使得多人可以同时参与对话,提高信息传递的效率。公聊功能通常配备有消息...

    QQ随意聊 (让你想跟谁聊天就跟谁聊天的VBS程序)

    QQ随意聊是一款基于VBScript(Visual Basic Script)编写的程序,它的主要功能是提供一个便捷的方式,让用户能够更自由地选择与任何QQ号码进行聊天,而无需登录到完整的QQ客户端。这个程序可能通过模拟登录过程并...

    付费社群聊天小程序V1.4.5+前端

    付费社群聊天小程序V1.4.5+前端 备注:不用重新上传小程序1,修复购买会员分享分佣BUG社群小程序,通过微信群裂变,社群营销,知识付费以及社群电商可实现粉丝营销闭环,玩转社群运营。一、自建社群平台的意义?1)...

    微信小程序_HiApp聊天工具源代码

    "微信小程序_HiApp聊天工具源代码"是一个基于微信小程序开发的聊天应用程序,其核心功能包括会话列表、聊天界面、好友通讯录以及好友管理,覆盖了即时通讯的基本需求。 1. **会话列表**: 会话列表是聊天应用的...

    自由聊天室

    在本"自由聊天室"程序中,Servlet扮演了核心角色,处理用户请求并生成响应。Servlet运行在服务器端,接收HTTP请求,执行业务逻辑,并返回HTML或其他格式的数据给客户端。 1. **Servlet生命周期** Servlet有三个...

    付费社群聊天小程序V1.4.5+前端.zip

    付费社群聊天小程序V1.4.5+前端 备注:不用重新上传小程序1,修复购买会员分享分佣BUG社群小程序,通过微信群裂变,社群营销,知识付费以及社群电商可实现粉丝营销闭环,玩转社群运营。一、自建社群平台的意义?1)...

Global site tag (gtag.js) - Google Analytics