使用TCP网络编程可以实现简单的登录注册程序【多线程】
登录和注册分别是两个线程,使用端口号区别开,在服务器端口,两个线程都开启,等待客户端的接入;而客户端,可以根据需求选择登录函数还是注册函数。
这里使用Properties集合类,将用户信息保存到本地,方便调取。
//注册线程
public class RegThread extends Thread{
private Properties properties;
private File file;
public RegThread(Properties properties, File file) {
this.properties = properties;
this.file = file;
}
@Override
public void run() {
ServerSocket listener = null;
Socket socket = null;
BufferedReader br = null;
BufferedWriter bw = null;
FileWriter fw = null;
try {
//创建ServerSocket
listener = new ServerSocket(6666);
System.out.println("注册系统已经启动!!!");
//监听
socket = listener.accept();
//处理数据
if (null != socket) {
//输入输出流和要写入的文件
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String data = br.readLine();
//这里将客户端输入的信息以“#”号区分用户名和密码
String[] datas = data.split("#");
String userName = datas[0]; //获取的是用户名
String userPsd = datas[1]; //获取的是密码
if (null != datas && 0 != datas.length) {
if (!properties.containsKey(userName)) {
//判断用户名key值是否存在
//将信息存储到内存
properties.setProperty(userN