基于socket,实现用户注册,用户登录,以及文件上传的例子

观看慕课网关于socket的视频,完成的一个小练习,demo源码和课程链接会放在后面。

1.项目截图:


2.源码分析

  1.server.java  服务器端socket 需要首先启动

package lmq.socket;

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

public class Server {
	
	public static void main(String[] args) {
		ServerSocket serverSocket = null;
		try {
			//创建一个服务器socket,并绑定监听端口
			serverSocket = new ServerSocket(8888);
			System.out.println("************服务器已启动,等待客户端连接*************");
			Socket socket = null;
			//记录客户端的数量
			int count = 0;
			//循环监听客户端的连接
			while(true){
				//调用accept方法进行监听,等待客户端连接
				socket = serverSocket.accept();
				//创建一个线程,处理与客户端的交互
				SocketThread st = new SocketThread(socket);
				Thread thread = new Thread(st);
				thread.start();
				count++;
				System.out.println("当前连接的客户端数量为:"+count);
				
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				serverSocket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

   2. SocketThread.java 线程处理类

package lmq.socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

import lmq.entity.File;
import lmq.entity.User;
import lmq.service.FileService;
import lmq.service.UserService;
import lmq.util.CommandTransfer;

public class SocketThread implements Runnable {
	private Socket socket = null ;
	private ObjectInputStream ois = null;
	private ObjectOutputStream oos = null;
	private UserService userService = new UserService();
	private FileService fileService = new FileService();
	
	
	public SocketThread
  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值