一,建立server端并连接client:
1,设定端口;
2,创建serversocket并接收客户端;
3,另外写一个类NetClient用来为client连接server;
二,服务器端保留客户端信息:
1,在server端保留每个client信息;
2,在NetClient端写好不同的udp端口并发送出去;
3,在server端接收udp端口,然后添加上IP信息;
String IP = s.getInetAddress().getHostAddress();
4,在server端中new出一个client并添加至list中;
5,NetClient连上服务器之后,关闭socket;
三,客户端获得独一无二的ID号:
1,server端写一个递增的ID号并发给客户端;
2,在NetClient中读出ID号;
3,在Tank类中保存ID号;
持有TankClient的引用,通过这个引用把NetClient中的ID号赋值给Tank中的ID号;
四,客户端发送坦克加入的消息:
1,首先创建一个线程专门用来接收数据;
2,建立一个DatagramSocket,在这不为空的基础上new一个DatagramPackage来包裹一个盛放数据的数组;
DatagramPackage可以用来接收数据;
3客户端通过服务器端发送自己的信息给其他各个客户端;
客户端通过调用send方法发送消息;
send方法的具体实现由消息自己来实现;
send方法:先把坦克的信息写到字节数组,再把字节数组封装成DatagramPackage,然后再通过DatagramSocket发送到服务器端;