`
leoizumi
  • 浏览: 93948 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java 聊天器 (单客户端版模型)

阅读更多

服务器端 :

import java.io.DataInputStream;
import java.io.IOException;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;


public class ChatServer {

	public static void main(String[] args) {
		boolean started = false;
		Socket socket = null;	
		ServerSocket serverSocket = null;
		DataInputStream dis = null;
		try {
			serverSocket = new ServerSocket(7777);
		}
		catch(BindException e2) {
			System.out.println("端口使用中 ... ...");
			System.out.println("请关闭双关程序!");
			System.exit(0);
		}
		catch(Exception e) {
			e.printStackTrace();
		}
		try{
			started = true;
			while(started) {
				boolean bConnected = false;
			    socket = serverSocket.accept();
				System.out.println("连接上了... ...");
				bConnected = true;
				dis = new DataInputStream(socket.getInputStream());
				while(bConnected){
				String str = dis.readUTF();
				System.out.println(str);
				}
			}
		} catch (IOException e) {
			System.out.println("Server 关闭");
		}finally {
			try {
				if(dis != null)dis.close();
				if(socket != null)socket.close();
			} catch (IOException e1) {
				e1.printStackTrace();
			}
		}	
	}
}

 

 

 

客户端 :

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class ChatClient extends Frame {
	Socket socket = null;
	TextField textField = new TextField();
	TextArea textArea = new TextArea();
	DataOutputStream dos = null;
	public void MainFrame() {
		setLocation(200, 200);
		setSize(400, 300);
		add(textArea,BorderLayout.NORTH);
		add(textField,BorderLayout.SOUTH);
		textField.addActionListener(new TextFieldListener());
		pack();
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				disConnect();
				System.exit(0);
			}
		});
		
		setVisible(true);
		connect();
	}
	
	private class TextFieldListener implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			String str = textField.getText();
			textArea.setText(str);
			textField.setText("");
			try {
				dos.writeUTF(str);
				dos.flush();
				
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			
		}
		
	}
	
	
	public void disConnect() {
		try {
			dos.close();
			socket.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
	
	public void connect() {
		try {
			socket = new Socket("127.0.0.1",7777);
			dos = new DataOutputStream(socket.getOutputStream());
			
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	public static void main(String[] args) {
		
		new ChatClient().MainFrame();
	}
	
}

 

分享到:
评论

相关推荐

    java聊天室 有界面 客户端 服务器

    Java聊天室是一个基于Java编程语言实现的实时通讯应用,它包含客户端和服务器两部分,具有图形用户界面(GUI)。这个项目对于初学者来说是理想的,因为它提供了清晰的代码结构和简洁的实现,有助于理解网络编程和GUI...

    完整可运行的java聊天系统客户端

    Java聊天系统客户端是一款基于Java编程语言开发的交互式通信软件,允许用户通过网络与其他用户进行实时文本、语音或视频聊天。这款客户端程序是完整的,具备运行所需的全部功能,包括用户注册、登录、发送和接收消息...

    java版飞信客户端源码

    Java版飞信客户端源码分析 飞信是中国移动推出的一款即时通讯软件,它允许用户通过互联网或移动网络进行免费的短信、语音通话等通信服务。本文将深入探讨Java版飞信客户端的源码,帮助开发者了解其内部工作原理,...

    java基于TCP/IP的聊天室

    Java基于TCP/IP的聊天室是一种实现用户间实时通信的应用程序,它依赖于网络协议TCP/IP进行数据传输。在这个系统中,通常包含两个主要组件:服务器端和客户端。 **TCP/IP协议**是Transmission Control Protocol/...

    java聊天系统局域网聊天系统

    1. 客户端:Java聊天系统的客户端是用户直接操作的部分,负责用户界面展示、用户输入接收和发送消息。通常使用Java Swing或JavaFX库来构建图形用户界面(GUI)。 2. 服务器:服务器端处理客户端的连接请求,转发消息...

    java scoket支持多客户端连接

    在传统的单连接模型中,服务器每次只能处理一个客户端,但在多客户端连接的场景下,我们需要循环或者异步地处理`accept()`,以接受更多的连接。 在Java中实现多客户端连接通常有两种策略: 1. **线程池**:每当有...

    java写的简易QQ聊天

    【标题】"java写的简易QQ聊天"所涉及的知识点主要集中在Java编程语言和网络通信上,我们可以从以下几个方面来详细解读: 1. **Java编程语言基础**:Java是一种跨平台的面向对象的编程语言,其核心特性包括封装、...

    Java Web应用客户端编程

    - JSF是一种MVC(模型-视图-控制器)框架,提供了一套组件库和生命周期管理,用于构建Java Web应用的用户界面。 7. AJAX(异步JavaScript和XML) - AJAX允许局部更新网页,无需刷新整个页面,提高了用户体验。 -...

    java 聊天系统源码

    【Java聊天系统源码解析】 本Java聊天系统源码是一个基于MVC(Model-View-Controller)架构设计的项目,其目标是实现一个类似于QQ的即时通讯应用。这个系统包括客户端和服务器端两大部分,支持用户进行单人聊天以及...

    聊天器JAVA做的,可在两台主机上运行,并对话

    综上所述,这个"JAVA聊天器"项目涵盖了多个重要的IT知识点,包括Java语言的基础、网络编程、多线程、IO流、数据序列化、GUI设计以及事件处理等,对于学习和提升Java开发技能有着很好的实践价值。

    JAVA实例(swing聊天室)源代码一客户端源码

    9. **Event Handling**:Swing使用事件监听器模型来处理用户交互。例如,添加一个ActionListener到"发送"按钮,当按钮被点击时触发相应的行为。 10. **Serialization**:如果消息需要序列化以便在网络上传输,Java...

    JAVA聊天室 源码

    【JAVA聊天室 源码】是一个初学者在掌握J2SE基础后,尝试实现的交互式应用程序。这个项目展示了如何运用Java的核心概念和技术来创建一个实时通信平台。以下是这个项目涉及的关键知识点: 1. **Java基础知识**:首先...

    JAVA聊天室完整代码

    Java聊天室是一个典型的网络编程项目,它涉及到许多关键的Java技术,特别适合初学者学习和实践。在这个项目中,我们将探讨以下知识点: 1. **Java网络编程基础**:Java提供了丰富的API来支持网络编程,包括Socket和...

    java聊天程序java聊天程序

    5. **事件驱动编程**:在图形用户界面(GUI)部分,Java聊天程序可能使用事件驱动编程模型。Java Swing 或 JavaFX 提供了丰富的组件库来创建用户界面,并通过事件监听器处理用户的交互事件,如点击按钮发送消息。 6...

    基于java的聊天小程序

    Java聊天小程序是一款基于Java语言开发的简单通讯应用,它利用了Java Socket编程技术来实现客户端与服务器端的实时通信。Socket在计算机网络中扮演着重要角色,它是TCP/IP协议族的一部分,提供了进程间的网络通信...

    JAVA聊天软件

    【JAVA聊天软件】是一款基于Java技术开发的网络通信应用,主要使用了Socket编程来实现客户端与服务器端的实时通讯功能。Socket是TCP/IP协议的一部分,它允许两台计算机通过网络进行双向通信。在这个项目中,我们看到...

    java聊天程序源代码

    Java聊天程序源代码是Java编程领域中的一个基础实践项目,主要展示了如何利用Java技术实现一个简单的聊天应用程序。这个程序对于初学者和中级开发者来说是一个很好的学习资源,可以帮助他们加深对网络编程、多线程和...

    java聊天室论文

    ### Java聊天室系统知识点 #### 一、绪论 ##### 1.1 关于Java聊天室概述 **选题的依据及课题的意义** 随着互联网技术的快速发展,人们越来越依赖网络进行沟通与交流。聊天室作为一种早期的在线社交平台,不仅为...

    Java Swing组件写的游戏客户端.zip

    Java Swing组件写的游戏客户端 Java Swing是Java标准库中的一个图形用户界面(GUI)工具包,用于构建桌面应用程序。在这个特定的项目中,"Java Swing组件写的游戏客户端" 暗示了一个基于Java Swing开发的游戏客户端...

    java 聊天室 计算机网络

    总的来说,创建一个Java聊天室项目不仅可以巩固和应用网络编程、多线程、GUI设计等基础技能,还能深入理解客户端-服务器交互的复杂性,以及如何构建安全、高效的网络应用。这个期末作业对于学习者来说是一次宝贵的...

Global site tag (gtag.js) - Google Analytics