📄 chatserver.java~1~
字号:
package jqq.server;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JOptionPane;
import jqq.msg.InfoMessage;
public class ChatServer
{
ServerFrame frame;
InfoMessage info;
ServerSocket server ;
Socket s ;
ClinetThread ct;
Thread thread;
boolean bStart = false;
boolean bConnect = false;
//*****接受客户端发给服务器消息的变量******
String strID = null;
String strPW = null;
String strNickName = null;
String strIntroduce = null;
String toID = null;
String fromID = null;
String ChatMsg = null;
public void setServerFram(ServerFrame frame)
{
this.frame = frame;
this.frame.jTexArea.setText("");
}
public void startServer(int port)
{
try
{
server = new ServerSocket(port);
//System.out.println(port);
bStart = true;
//try
//{
s = server.accept();
//}
//catch (Exception e)
//{
// e.printStackTrace();
//}
bConnect = true;
ct = new ClinetThread(s);
thread = new Thread(ct);
thread.start();
//System.out.println("服务器启动..!");
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,"出错,端口可能使用中,请关掉相关程序并重新运行服务器!");
System.exit(0);
e.printStackTrace();
}
}
/* public void listen()
{
try
{
s = server.accept();
}
catch (Exception e)
{
e.printStackTrace();
}
bConnect = true;
ct = new ClinetThread(s);
thread = new Thread(ct);
thread.start();
}*/
class ClinetThread implements Runnable //线程类
{
private Socket s;
private ObjectOutputStream objectOut = null;
private ObjectInputStream objectIn = null;
public ClinetThread(Socket s)
{
this.s = s;
try
{
objectIn = new ObjectInputStream(s.getInputStream());
objectOut = new ObjectOutputStream(s.getOutputStream());
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void run()
{
try
{
while(bConnect)
{
while(true)
{
info = (InfoMessage)objectIn.readObject();
int mark = info.getMsgMark();
System.out.println(mark);
if(mark==1) //当是登陆消息编码时
{
landAccept();
}
if(mark==2) //当是注册消息编码时
{
registerAccept();
}
if(mark==3) //当是聊天消息编码时
{
//ChatMessageAccept();
}
}
}
}
catch(Exception e)
{
try
{
bConnect = false;
if(objectIn!=null) objectIn.close();
if(objectOut!=null) objectOut.close();
if(s!=null) s.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
}
public void landAccept() //登陆消息接受
{
strID = info.getID();
strPW = info.getPW();
System.out.println(strID);
System.out.println(strPW);
}
public void registerAccept() //注册消息接受
{
strID = info.getID();
strPW = info.getPW();
strNickName = info.getNN();
strIntroduce = info.getIntroduce();
System.out.println(strID);
System.out.println(strPW);
System.out.println(strNickName);
System.out.println(strIntroduce);
}
public void ChatMessageAccept() //聊天消息接受
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -