public class SOCKET_SERVER {
private JmailHelp JmailHELPER = new JmailHelp();
static int PORT = 444;
public static void main(String[] args) throws Exception {
SOCKET_SERVER SERVER = new SOCKET_SERVER();
SERVER.JmailHELPER.resetONN();
ServerSocket SRVSOCK = new ServerSocket(PORT);
//ArrayList<SocketStatus> OnlineUsers = new ArrayList<SocketStatus>();
Socket SOCK = SRVSOCK.accept();
//new ServerThread(SOCK).start();
SocketStatus a = new SocketStatus(SOCK, false);
//OnlineUsers.add(a);
//String action = "";
SERVER.ServerActionsHandler(SERVER, SRVSOCK, SOCK, a);
}//
}
请原谅我,如果我给的是不够的话,不要犹豫,如果可以,请多多询问,并想尽力帮助我
好,
这是我的套接字服务器类ServerActionHandler
是我创建的一个方法,它从客户端作为“输入”(通过BufferedReader
)字符串并调用正确的方法来为客户端提供服务。
他(客户端)发送字符串“login”
然后服务器将ServerActionHandler
作为“输入”在名为action的字符串中,然后识别“login”,然后从服务器类中调用Acceptlogin
方法< / p>
同时发送“logi消息”的客户端正在从客户端类调用Dologin方法
4. ServerActionsHandle
r的循环结束
5.新循环开始询问客户端的新操作
我的项目适用于服务器和一个客户端 我想让它适用于许多客户
还有一些我使用JmailHELPER
对象的东西
几乎所有SOCKET_SERVER
类的方法(例如login_accept,register_accept ......)
为了调用它的一些方法。
如果使用服务器的某个套接字已登录,则SocketStatus
会保留一个变量
据我所知,我必须创建一个ServerThreads
类来扩展Threads以处理多个用户。
什么是构造函数和该类方法的运行
例如A SocketThread
我有http://www.cdk5.net/ipc/programCode/TCPServer.java
感谢。
答案 0 :(得分:0)
确定, 我知道这很有趣但是经过两个小时的休息后我试着找到解决方案3分钟然后我就解决了(这就是我现在所相信的:P)
至少它正在我的电脑上为两个客户工作,所以我会在一台以上的电脑上查看tommorow
无论如何,我发布了我的问题的答案,以便在遇到常见问题时可以看到它
public static void main(String[] args) throws Exception {
SOCKET_SERVER SERVER = new SOCKET_SERVER();
SERVER.JmailHELPER.resetONN();
ServerSocket SRVSOCK = new ServerSocket(PORT);
while (true) {
Socket SOCK = SRVSOCK.accept();
SocketStatus a = new SocketStatus(SOCK, false);
new Thread() {
public void run() {
try {
SERVER.ServerActionsHandler(SERVER, SRVSOCK, SOCK, a);
} catch (Exception ex) {
Logger.getLogger(SOCKET_SERVER.class.getName()).log(Level.SEVERE, null, ex);
};
}
}.start();
}
}