Skip to content
/ chat Public

一个基于Java网络编程功能的简易即时通讯工具

Notifications You must be signed in to change notification settings

herenpeng/chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chat 聊天室

作者:herenpeng

一个基于 Java 网络编程功能编写的简易的即时通讯工具,可以直接在命令行中进行网络通讯。

聊天室申明

  • 1、本聊天室仅为娱乐,请勿在该聊天室内谈论敏感内容,比如涉政,涉黄,账号密码等等!

  • 2、聊天室内容明文传输,聊天信息泄露本聊天室概不负责!

  • 3、本聊天室内容后台不做任何存储,聊天信息如果需要请自行保留!

  • 4、最终解释权归程序作者及本聊天室所有!

chat 聊天室使用

  • 1、启动 com.herenpeng.chat.ChatServermain() 方法,程序服务端启动。

  • 2、启动 com.herenpeng.chat.ChatClientmain() 方法,程序客户端启动。

chat 聊天室服务端服务必须启动,客户端服务可以启动多个,多个客户端服务之间可以相互通讯。

chat 服务端服务

chat 服务端服务,即 com.herenpeng.chat.ChatServer 类,可以将该 Java 类部署到服务器上。

部署服务器要求

1、JDK8 环境

2、良好的网络

部署服务器步骤

1、将 ChatServer.java 文件上传至服务器上。

如:将 ChatServer.java 文件上传至服务器 /usr/app/chat 目录下。

2、进入 ChatServer.java 文件所在的目录,编写部署脚本,并保存。

cd /usr/app/chat
vim chat-server.sh
  • chat-server.sh 内容
CHAT_SERVER_DIR=/usr/app/chat
CHAT_SERVER=ChatServer
CHAT_LOG_FILE=${CHAT_SERVER_DIR}/chat.log
# 聊天室启动参数
CHAT_CFG=${2}

help() {
	echo "=================="
	echo "start 启动服务"
	echo "stop 停止服务"
	echo "restart 重启服务"
	echo "find 查找服务"
	echo "help 帮助"
	echo "=================="
}

start() {
	javac -encoding UTF-8 ${CHAT_SERVER}\.java
	nohup java -Dfile.encoding=UTF-8 ${CHAT_SERVER} ${CHAT_CFG} >>${CHAT_LOG_FILE} 2>&1 &
	echo "服务${CHAT_SERVER}已启动"
}

stop() {
	PID=$(ps -ef | grep java | grep ChatServer | awk '{print $2}')
	if [ "${PID}" == "" ]
	then
		echo "服务${CHAT_SERVER}已停止"
	else
		kill ${PID}
		echo "服务${CHAT_SERVER}已停止"
	fi
}

restart() {
    stop
	sleep 3
	start
	echo "服务${CHAT_SERVER}已重启"
}

find() {
  PID=$(ps -ef | grep java | grep ChatServer | awk '{print $2}')
  if [ "${PID}" == "" ]
	then
		echo "服务${CHAT_SERVER}已停止"
	else
		echo "服务${CHAT_SERVER}正在运行:PID=${PID}"
	fi
}

case ${1} in
	"")
		echo "=== 参数错误 ==="
		;;
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		restart
		;;
	find)
		find
		;;
	*)
		help
		;;
esac

exit 0

3、给 chat-server.sh 脚本增加可执行权限,并执行脚本,启动服务

# 增加可执行权限
cd /usr/app/chat
chmod +x chat-server.sh
# 启动服务
./chat-server.sh start robot

Error: Could not find or load main class ChatServer

执行脚本启动服务的时候,可能会报一个 Error: Could not find or load main class ChatServer 的错误信息。

这是因为在 ChatServer.java 文件的最上方有一个包名,如果独立运行 Java 文件,将该包名去掉即可解决上述报错信息。

包名:package com.herenpeng.chat;

chat 聊天室配置刷新

chat 聊天室的配置可以在服务端启动时进行指定,比如 robot 配置,开启该配置可以启动服务端机器人。

但是在服务启动之后,如果需要在不关闭服务的情况下进行配置刷新,则需要使用 chat 聊天室 reloadChatCfg 功能。使用该功能,可以在不关闭服务的情况下,对服务端的配置进行动态修改。

配置刷新步骤

1、启动客户端,在聊天室昵称中输入服务端启动时打印的配置刷新动态密钥。

2、在 请输入需要刷新的聊天室配置 提示语下输入配置。

配置使用 key1=value1&key2=value2 的格式。

例如需要关闭聊天室机器人,可以使用配置 robot=false 进行配置刷新。

如果需要调整聊天室机器人的回复概率,可以使用配置 robotPro=10,该配置表示机器人回复的概率为 1/10

上述两个配置需要一起刷新,可以使用 robot=false&robotPro=10 进行刷新。

About

一个基于Java网络编程功能的简易即时通讯工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published