📄 usertalkmsg.java
字号:
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
/**
* 用户在加入页面时,聊天窗口发送出的消息类,为玩家进行游戏时提供良好的互动交流
* @author Nightelf暗夜精灵
*
*/
public class UserTalkMsg implements Msg {
int msgType = Msg.USER_TALK_MSG;
private TankClient tc;
public UserTalkMsg(TankClient tc) {
this.tc=tc;
}
public void send(DatagramSocket ds, String IP, int udpPort) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
try {
dos.writeInt(msgType);
System.out.println("发送前"+tc.join.talk.getText());
dos.writeUTF(tc.tank.getUser());
dos.writeUTF(tc.join.talk.getText());
byte[] buf = baos.toByteArray();
DatagramPacket dp = new DatagramPacket(buf, buf.length,
new InetSocketAddress(IP, udpPort));
ds.send(dp);
} catch (Exception e) {
e.printStackTrace();
}
}
public void parse(DataInputStream dis) {
try {
String user =dis.readUTF();
String say = dis.readUTF();
String line = System.getProperty("line.separator");
tc.join.talkArea.append(user+"说:"+say);
tc.join.talkArea.append(line);
} catch (IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -