当前位置: 首页 > news >正文

网络公司开发网站/重庆网站建设公司

网络公司开发网站,重庆网站建设公司,人民日报网站谁做的,建筑工程安全网生产厂家一、游戏效果知乎视频​www.zhihu.com老刘的视频 2769 播放Java网络编程联机3D坦克大战二、游戏涉及知识服务器端运用了 IO、线程、网络、面向对象、异常 的内容,客户端使用 unity3d引擎进行开发三、服务器设计思路1.实例化Socket服务器,并指定端口号2.…

ad3222dafb1978461342dc73b3576064.png

一、游戏效果

知乎视频​www.zhihu.com

老刘的视频
· 2769 播放

Java网络编程联机3D坦克大战

3d3b3f7f4d90cb2b10d771d82613628c.png

1f778f2a0df7feebaa131352bd399afc.png

二、游戏涉及知识

服务器端运用了 IO、线程、网络、面向对象、异常 的内容,
客户端使用 unity3d引擎进行开发

2795cf63e0ef5e6feb81a4b5591b6f0f.png

bbfb85f9fae4ce1dfada570183a33545.png

三、服务器设计思路

1.实例化Socket服务器,并指定端口号
2.主线程循环监听多个客户端的连接,并将每个客户端连接保存在集合中
3.启动接收数据子线程对象,每建立一个连接,则启动一个子线程来处理数据的广播

四、服务器代码

package test0813.tank.server;import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Vector;/*** 3D坦克大战服务器*/
public class TankServer {//创建一个存储客户端连接socket的集合static Vector<Socket> sockets = new Vector<>();public static void main(String[] args) {TankServer tankServer = new TankServer();tankServer.init();}//初始化服务器private void init() {try {//1.实例化Socket服务器,并指定端口号ServerSocket server = new ServerSocket(7777);System.out.println("服务器已启动,等待客户端连接中...");//2.主线程循环监听多个客户端的连接,并将每个客户端连接保存在集合中while(true){//接收客户端连接Socket socket = server.accept();//将此连接保存在集合中sockets.add(socket);System.out.println("当前socket:" + socket);System.out.println("客户端连接数据:" + sockets.size());//3.启动接收数据子线程对象,每建立一个连接,则启动一个子线程来处理数据的广播new RecvTankServerThread(socket).start();}} catch (IOException e) {e.printStackTrace();}}//向所有客户端广播发送数据public void broadCast(byte[] data,Socket self,int length){//遍历sockets集合,并从每一个集合中获取输出流,将数据广播给其他客户端for (Socket tempSocket : sockets) {if(tempSocket != self){try {OutputStream os = tempSocket.getOutputStream();os.write(data,0,length);} catch (IOException e) {e.printStackTrace();}}}}//接收数据子线程class RecvTankServerThread extends Thread {private Socket socket;public RecvTankServerThread(Socket socket){this.socket = socket;}public void run(){try {//从socket中获取流InputStream is = socket.getInputStream();//定义字节数组,作为装字节数据的容器byte[] data = new byte[1024];//循环读取while(true){//定义有效长度int length = is.read(data);//收到数据,广播给其他客户端broadCast(data,socket,length);}} catch (IOException e) {e.printStackTrace();}}}
}

五、项目下载

百度云链接: https://pan.baidu.com/s/16-Yjo26blPXLaNsfYznZbw
提取码: v3a6

4857e55b321a123529174f12006305b7.png
作者:Bei-Zhen
链接:https://blog.csdn.net/qq_33591873/article/details/107988879
来源:CSDN博客
http://www.lbrq.cn/news/1340317.html

相关文章:

  • 二级网站怎么建设/在哪个网站可以免费做广告
  • 表情包做旧网站/营销推广怎么做
  • 四川成都最新新闻事件今天/栾城seo整站排名
  • b2c模式的网站有哪些/百度应用宝
  • 家政公司在哪个平台推广效果好/杭州seo排名优化外包
  • wordpress html 标签/整站优化
  • 网站banner文字最大多少/快速优化seo
  • 企业网站建设现状/百度指数的基本功能
  • 个人备案网站做淘宝客可以用吗/推广产品怎么发朋友圈
  • 做网站宽度和长度布局/保温杯软文营销300字
  • 建设一个公司网站/it行业培训机构一般多少钱
  • 温州建设网站制作/360识图
  • 阿里云wordpress搭建网站/找广告商的平台
  • 毕业设计做网站 答辩会问什么问题/微信朋友圈广告投放
  • 榆林做网站电话/农村电商平台有哪些
  • 电商网站开发的背景/最新的疫情信息
  • 北京市建设城乡建设委员会官方网站/北京seo运营推广
  • 淘宝上找人做网站/互联网营销师资格证
  • 个旧市做网站公司/手机百度app下载
  • wordpress 宽度/企业网站seo优化
  • 好看的网站 你明白吗/市场调研与分析
  • 360如何做网站优化/seo外包
  • 网站建设与开发做什么/seo谷歌外贸推广
  • 建立销售型网站/买链接网
  • 做买衣服的网站有哪些/做企业推广
  • 卡通网站建设/建站平台哪个好
  • 网站邮箱怎么做的/杭州seo搜索引擎优化
  • 海淀最新消息今天/网站关键词百度自然排名优化
  • 初学者做网站的软件/网站恶意点击软件
  • 购买网站模板/关键词快速排名怎么做
  • 如何理解SA_RESTART”被信号中断的系统调用自动重启“?
  • Vue3 组件化开发
  • 练习uart和摄像头内核驱动开发测试
  • 32Nginx配置与多业务部署指南
  • 【Spring Boot 快速入门】八、登录认证(二)统一拦截
  • java10学习笔记