📄 chatserver.java
字号:
package control;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import serverInf.GameServer;
import serverInf.Sender;
import serverInf.Serializable;
import serverInf.ServerInterface;
/**
* Chat example for show how to use Package serverInf
* 1.create a class implements ServerInterface besides,you need create a message class to implement the serializable interface
* 2.the class should contain a instance of GameServer
* 3.Add ChatHall[PlatformState.MaxRom] as platformState's member
* 4.modify the PlatformState's openJar() function to create an instance to beginning the game
* when userList.isReady's value is 1 (in this example players don't need ready)
* 5.Change the PlatformState's GameCount and MaxPlayers[] to fix the new game
* @author sheng
*
*/
public class ChatServer implements ServerInterface{
private ChatMessage chatmsg;
private GameServer gameserver;
private Sender[] senders;
private String[] userList;
public ChatServer(int port,String[] userList){
this.userList=userList;
chatmsg=new ChatMessage("", "", "");
gameserver=new GameServer(port, model.PlatformState.MaxPlayers[3], chatmsg,this );
}
public void start(){
gameserver.start();
}
public void reveiveMessage(Serializable message) {
chatmsg=(ChatMessage)message;
//if(!chatmsg.content.equals("$REFRESH"))
sendToAll(chatmsg);
}
public void sendToAll(ChatMessage msg){
for(int i=0;i<senders.length;i++){
if(senders[i]!=null){
senders[i].send(msg);
}
}
}
public void getSenders(Sender[] senders) {
this.senders=senders;
/*
for (int i=0;i<senders.length;i++){
try {
if (senders[i]!=null) {
System.out.println("send to "+i);
senders[i].send(new ChatMessage("test","1234","hihi"));
}
} catch (Exception e){
System.err.println("senders "+i+" has some promble "+e);
}
}*/
}
public void gameStart(){
}
public void illegalExit(String UserAccount) {
throw new UnsupportedOperationException("Not supported yet.");
}
class ChatMessage implements Serializable{
public String user="";
public String time="";
public String content="";
public ChatMessage(String user,String time,String content){
this.user=user;
this.time=time;
this.content=content;
}
public void deserialize(DataInputStream is) throws IOException {
user=is.readUTF();
time=is.readUTF();
content=is.readUTF();
}
public void serialize(DataOutputStream os) throws IOException {
os.writeUTF(user);
os.writeUTF(time);
os.writeUTF(content);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -