• 大小: 0.04M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: Java
  • 标签: 其他  

资源简介

java基于socket公共聊天室的实现.zip

资源截图

代码片段和文件信息

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketException;
import java.util.Scanner;
import java.util.StringTokenizer;

public class ChatClient {
// 创建一个Socket
private static Socket client = null;
// 定义输入流变量
private static DataInputStream di = null;
// 定义输出流变量
private static DataOutputStream dos = null;
// 创建scanner对象接收数据
Scanner sc = new Scanner(System.in);
// 定义一个String变量保存用户名
static String name;
// 定义一个布尔值来判断是否循环接受用户名
boolean falg = true;

public static void main(String args[]) {
// 创建对象
ChatClient cc = new ChatClient();
// 创建客户端的socket对象
client = new Socket();
// 调用方法
cc.connect();
// 调用方法
cc.send();
}

// 连接
public void connect() {

// 创建客户端的socket对象
client = new Socket();
// 定义一个String接收IP地址
String IP = null;
// 定义一个int端口号
int port = 0;
System.out.println(“***!!Welcome!!***“);
try {
System.out.println(“输入服务器的默认地址是0或127.0.0.1“);
// 接收一个IP保存到string对象中
IP = sc.nextLine();
// 匹配接收到的IP,接收到后将IP赋值为默认
if (IP.equalsIgnoreCase(“0“)) {
IP = ““;
}
// 设置端口号
port = 8000;
} catch (Exception e) {
}
try {
// 从给定的主机名得到ip存入inetaddress对象中
InetAddress address = InetAddress.getByName(IP);
// 根据得到的ip和端口号创建套接字地址
InetSocketAddress socketaddress = new InetSocketAddress(address
port);
// 将客户端的套接字链接到服务器
try {
// 连接服务器与客户端
client.connect(socketaddress);
// 判断是否有连接
if (client.isConnected()) {
// 调用方法
runn();
} else {
client.connect(socketaddress);
// 调用方法
connect();
}
} catch (SocketException e) {
System.out.println(“不能连接到服务器,请重新输入“);
// 调用connect()重新连接
connect();
}
} catch (Exception e) {
System.out.println(“不能连接到服务器,请重新输入“);
// 调用connect()重新连接
connect();
}
}

public void runn() {
try {
// 定义read对象
ClientThread read = null;
// 创建read对象
read = new ClientThread();
// 创建readdata线程对象
Thread readData = new Thread(read);
// 封装一个DataInputStream对象得到输入流
di = new DataInputStream(client.getInputStream());
// 封装一个DataOutputStream对象得到输出流
dos = new DataOutputStream(client.getOutputStream());
// 接受用户名
while (falg) {
System.out.println(“请输入用户名:“);
name = sc.next();
System.out.println(name + “上线了“);
System.out.println(“欢迎进入聊天室,需要帮助请输入/A“);
dos.writeUTF(name);
dos.flush();
read.setDataInputStream(di);
// 启动线程
readData.start();
// 改变flag中断循环
falg = false;
}
} catch (IOException e) {

}
}

// 写入信息
@SuppressWarnings(“deprecation“)
public void send() {
// 循环接收发送的消息
System.out.println(“请输入内容:“);
while (sc.hasNext()) {
S

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件          72  2016-03-15 19:57  版权说明.txt
     目录           0  2015-12-06 12:27  源代码\
     目录           0  2015-12-06 12:26  源代码\ChatRoomDemo\
     文件         301  2015-12-06 12:05  源代码\ChatRoomDemo\.classpath
     文件         388  2015-12-06 12:05  源代码\ChatRoomDemo\.project
     目录           0  2015-12-06 12:26  源代码\ChatRoomDemo\.settings\
     文件         598  2015-12-06 12:05  源代码\ChatRoomDemo\.settings\org.eclipse.jdt.core.prefs
     目录           0  2015-12-06 12:26  源代码\ChatRoomDemo\bin\
     文件        5384  2015-12-06 12:26  源代码\ChatRoomDemo\bin\ChatClient.class
     文件        2462  2015-12-06 12:26  源代码\ChatRoomDemo\bin\ChatServer.class
     文件        1874  2015-12-06 12:26  源代码\ChatRoomDemo\bin\ClientThread.class
     文件        5883  2015-12-06 12:26  源代码\ChatRoomDemo\bin\ServerThread.class
     目录           0  2015-12-06 12:26  源代码\ChatRoomDemo\src\
     文件        5246  2015-12-06 12:08  源代码\ChatRoomDemo\src\ChatClient.java
     文件        1905  2015-12-06 12:09  源代码\ChatRoomDemo\src\ChatServer.java
     文件        1199  2015-12-06 12:07  源代码\ChatRoomDemo\src\ClientThread.java
     文件        5732  2015-12-06 12:24  源代码\ChatRoomDemo\src\ServerThread.java
     目录           0  2016-03-15 19:56  执行文件\
     文件          22  2015-05-18 12:08  执行文件\client.bat
     文件        9340  2015-12-06 12:25  执行文件\client.jar
     文件          20  2015-05-18 12:08  执行文件\server.bat
     文件        9340  2015-12-06 12:24  执行文件\server.jar

评论

共有 条评论