📄 msgmanager.java
字号:
package netversion;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class MsgManager {
public static final String requestData = "LoginInfo";
//接收服务器信息的端口
private static final int REFRESH_PORT = 9990;
private static final int CLIENT_PORT = 9000;
private InetAddress ip;
//对方ip和对方待连接的端口
private int port;
public MsgManager(String ip,int port){
this.ip = MyUtilities.getIPFromString(ip);
this.port = port;
}
public void connectOther(InetAddress ip){
this.ip = ip;
this.port = CLIENT_PORT;
}
public String requestTabInfo(){
this.sendTo(requestData);
return this.receive(REFRESH_PORT);
}
private void sendTo(String msg){
int msglen = msg.length();
byte[] msgByte = new byte[msglen];
msgByte = msg.getBytes();
DatagramPacket packet = new DatagramPacket(
msgByte,msglen,this.ip,port);
//send
DatagramSocket socket;
try {
socket = new DatagramSocket();
socket.send(packet);
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private String receive(int port){
byte[] buffer = new byte[2048];
String s;
try{
DatagramPacket dp = new DatagramPacket(
buffer,buffer.length);
DatagramSocket socket = new DatagramSocket(port);
socket.receive(dp);
socket.close();
s = new String(buffer,0,dp.getLength());
return s;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
public void refreshTab(int x, int y, int right,int status) {
this.sendTo(x+"&"+y+"&"+right+"&"+status);
}
public String getTabStatus(int x, int y, int right){
this.sendTo("Status"+x+"&"+y+"&"+right);
return this.receive(CLIENT_PORT);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -