游戏客户端编程

2023-05-16

一、测试能否ping通服务器

打开cmd,输入ping 10.1.230.74,游戏服务器的校园内网IP地址为 10.1.230.74,需要连接校园网
在这里插入图片描述
接着输入telnet,如果输入telnet提示无效命令,去控制面板–程序–程序和功能–启动或关闭Windows功能,然后按提示勾选,重启电脑
在这里插入图片描述
输入telnet进入telnet命令界面
在这里插入图片描述
输入set localecho,打开本地回显,连接服务器,输入命令open 10.1.230.74 3900
在这里插入图片描述

二、完成客户端的制作

客户端框架
打开框架大致有如下的组件,这些组件还没附上功能代码
在这里插入图片描述
双击进入游戏的按钮,代码如下

 private void button10_Click(object sender, EventArgs e)
        {
            try
            {
                //向指定的IP地址的服务器发出连接请求
                tcpClient.Connect("10.1.230.74", 3900);
                listBox1.Items.Add("连接成功!");
                stream = tcpClient.GetStream();
                byte[] data = new byte[1024];
                //判断网络流是否可读            
                if (stream.CanRead)
                {
                    int len = stream.Read(data, 0, data.Length);
                    string msg = Encoding.Default.GetString(data, 0, data.Length);
                    string str = "\r\n";
                    char[] str1 = str.ToCharArray();
                    string[] msg1 = msg.Split(str1);
                    for (int j = 0; j < msg1.Length; j++)
                    {
                        listBox1.Items.Add(msg1[j]);

                    }
                }
            }
            catch
            {
                listBox1.Items.Add("连接失败!");
            }

        }

点击发送的按钮

private void button12_Click(object sender, EventArgs e)
        {
            music_play();
            if (tcpClient.Connected)
            {
                //向服务器发送数据
                string msg = textBox1.Text;
                Byte[] outbytes = System.Text.Encoding.Default.GetBytes(msg + "\n");
                stream.Write(outbytes, 0, outbytes.Length);
                byte[] data = new byte[1024];
                //接收服务器回复数据
                if (stream.CanRead)
                {
                    int len = stream.Read(data, 0, data.Length);
                    string msg1 = Encoding.Default.GetString(data, 0, data.Length);
                    string str = "\r\n";
                    char[] str1 = str.ToCharArray();
                    string[] msg2 = msg1.Split(str1);
                    for (int j = 0; j < msg2.Length; j++)
                    {
                        listBox1.Items.Add(msg2[j]);
                    }
                }
            }
            else
            {
                listBox1.Items.Add("连接已断开");
            }
            textBox1.Clear();
        }

添加背景音乐
在这里插入图片描述
音频文件必须是.wav后缀,需要用软件进行转换而不是直接改后缀名
播放函数

  private void music_play()
        {
            SoundPlayer sp = new SoundPlayer();
            sp.SoundLocation = @"jtbw.wav";   //你的音乐文件名称,且注意必须是wav文件
            sp.PlayLooping();
        }

背景图片切换
创建一个timer控件
在这里插入图片描述
点击该控件,修改其属性
在这里插入图片描述

准备好存放背景图的文件夹,将每张照片按顺序1~n存放
代码

 private void timer1_Tick(object sender, EventArgs e)
        {
            Thread th = new Thread(pic_play);
            th.IsBackground = true;
            th.Start();
        }
       
void pic_play()
        {
            picture++;   //记得在前面定义变量picture
            string picturePath = @"C:\Users\28205\Pictures\game\" + picture + ".jpg";
            //设置图片填充
            pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
            pictureBox1.Image = Image.FromFile(picturePath);
            if (picture == 4)
                picture = 0;
        }

在开头添加以下代码以定义对象变量

 private int picture;
        private NetworkStream stream;
        private TcpClient tcpClient = new TcpClient();

if(picture==n)记得修改为你存放的照片数量

三、运行效果

在这里插入图片描述

参考链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

游戏客户端编程 的相关文章

  • 常见安全事件

    一 钓鱼 xff1b 1 诱惑性标题 xff1b 2 仿冒真实网站 xff1b 3 骗取用户账号 xff1b 4 骗取用户资料 xff1b 篡改 网页 Tampering 关键字 xff1a Hacked by 搜索引擎语法 xff1a I
  • 局域网技术,涉及到VLAN,TRUNK,链路聚合,VLAN间路由,单臂路由,

    Ethernet xff1a 以太网 构建一个网络 xff08 迷你型 小型 中型 大型 巨型 xff09 集线器 xff08 hub xff09 xff1a 物理层的设备 xff0c 半双工通信 xff0c 泛洪 xff08 floodi
  • ACL 网安基础

    ACL xff1a access control list 访问控制列表 网络当中哪些流量可以通过 xff0c 哪些流量不能通过 xff0c 哪些用户可以登录 xff0c 哪些用户拒绝登录 permit 允许 deny 拒绝 flow co
  • SONiC-P4实验搭建及研究SONiC管理的交换机

    首先需建立在虚拟机上部署SONiC P4仿真环境 xff0c 关于部署SONiC P4 xff0c 详情可以参考https github com sonic net SONiC wiki SONiC P4 Software Switch x
  • Linux操作系统指令

    Linux简介 Linux xff0c 全称GNU Linux xff0c 是一种免费使用和自由传播的类UNIX操作系统 xff0c 其内核由林纳斯 本纳第克特 托瓦兹于1991年10月5日首次发布 xff0c 它主要受到Minix和Uni
  • ubuntu 10.04下的配置tftp服务器

    转载自 http www cnblogs com geneil archive 2011 11 24 2261653 html 第1步 xff1a 安装tftp所需的软件 首先需要安装tftp hpa xff0c tftpd hpa xff
  • 【每天学习一点新知识】如何绕过CDN查真实ip

    1 什么是CDN 为了防止流量过大网络堵塞 xff0c 我们就在靠近用户的地方 xff0c 建一个缓存服务器 xff0c 把远端的内容复制一份 xff0c 放在这里 xff0c 简单来说就是将内容缓存在终端用户附近 2 怎么绕过cdn找到远
  • hadoop集群启动后datanode没有启动

    今天启动hadoop集群后 xff0c 查看进程发现名称节点的NameNode进程启动了 xff0c 但是数据节点的DataNode进程没有启动 xff0c 如下 xff1a 这个问题是个常见问题 xff0c 对于自学的初学者来说 xff0
  • 局域网组网 实验7 MPLS VNP

    配置 xff1a AR1 xff1a interface GigabitEthernet0 0 0 ip address 10 1 2 1 255 255 255 0 interface GigabitEthernet0 0 1 inter
  • 数字逻辑电路(四)

    数字逻辑电路 xff08 四 xff09 目录 组合逻辑电路 1 组合逻辑电路的分析 设计 2 数值计算电路 3 编码器 4 译码器 编码的逆过程 5 数值比较器 6 数据选择器 7 组合逻辑电路分析 组合逻辑电路 1 组合逻辑电路的分析
  • 2020-10-27

    云计算是什么 1 水龙头观点论 xff1a 当需要的时候 xff0c 你别管水是怎么来的 xff0c 电是怎么发的 xff0c 扭开水龙头用水 xff0c 插上插头用电 xff0c 只需要操心交水电费就是了 xff01 当你需要用一个软件时
  • 2020-11-03

    云计算的服务类型 当今IT信息时代 xff0c 云计算激流勇进 xff0c 稳步发展都离不开云计算服务 云计算的服务类型有 1 SaaS 软件即服务 SaaS 软件即服务 xff0c 是指用户获取软件服务的一种新形式 它不需要用户将软件产品
  • 2020-11-03

    云计算五大特点 云计算 xff0c 是一种基于互联网的计算方式 xff0c 通过这种方式 xff0c 共享的软硬件资源和信息可以按需提供给计算机和其他设备 典型的云计算提供商往往提供通用的网络业务应用 xff0c 可以通过浏览器等软件或者其
  • 2020-11-17

    大数据的就业前景还是很不错的 大数据的价值体现在以下几个方面 xff1a xff08 1 xff09 对大量消费者提供产品或服务的企业可以利用大数据进行精准营销 xff1b xff08 2 xff09 做小而美模式的中小微企业可以利用大数据
  • 2020-11-25

    网格计算和云计算有相似之处 xff0c 特别是计算的并行与合作的特点 xff1b 但他们的区别也是明显的 主要有以下几点 xff1a 首先 xff0c 网格计算的思路是聚合分布资源 xff0c 支持虚拟组织 xff0c 提供高层次的服务 x
  • 2020-12-22

    云计算主要包含哪些关键技术 xff1f 1 虚拟化技术 xff1a 云计算的虚拟化技术不同于传统的单一虚拟化 xff0c 它是涵盖整个IT架构的 xff0c 包括资源 网络 应用和桌面在内的全系统虚拟化 xff0c 它的优势在于能够把所有硬
  • ubuntu nfs服务器设置-调试成功

    转载地址 xff1a http www cnblogs com doctorqbw archive 2012 02 03 2337411 html 1 安装nfs服务 xff0c apt get install nfs common nfs

随机推荐

  • 2020-12-28

    大数据发展必备三个条件 大数据概念的横空出世 xff0c 有赖于短短几年出现的海量数据 据统计 xff0c 互联网上的数据每两年翻一番 xff0c 而目前世界上90 以上的数据都是最近几年才产生的 当然 xff0c 海量数据仅仅是 大数据
  • Casbin

    Model Model语法 Model CONF 至少应包含四个部分 request definition policy definition policy effect matchers 如果 model 使用 RBAC 还需要添加 ro
  • STM32串口发送字符串

    在STM32串口学习中 xff0c 串口发送字符串是必不可少的 xff0c 但是 在学习过程中可能会遇到下面这个问题 xff0c 就由我来给大家分享一下吧 下面是封装的串口发送字符串的函数 xff1a void Usart SendStri
  • 树莓派4b安装Ubuntu20.04+ROS-noetic(也适用于历史版本)

    树莓派4b安装Ubuntu20 04 43 ros noetic 前言一 镜像下载二 烧录系统1 插入tf卡 xff0c 首先对tf卡进行格式化2 烧录镜像方法1 官方烧录软件 Raspberry Pi Imager方法2 Win32Dis
  • vscode 项目中安装配置webpack及其插件

    1 安装webpack 在终端运行如下的命令 xff0c 安装webpack相关的两个包 xff1a npm install webpack 64 5 42 1 webpack cli 64 4 7 2 D D表示 xff1a npm安装完
  • 【02】FreeRTOS获取10.4.6源码+移植到STM32F429步骤

    目录 1 获取FreeRTOS源码 1 1 FreeRTOS官网下载步骤 1 2FreeRTOS源码内容 1 3FreeRTOS内核文件 1 3 1Demo文件夹 1 3 2Source文件夹 2 FreeRTOS移植 2 1添加FreeR
  • M1-MAC-MYSQL安装+启动的笔记

    前言 xff1a 安装Mysql之前应该先安装JAVA JDK 1 开始安装Mysql xff08 1 xff09 下载Mysql xff1a 官网下载地址 xff1a https dev mysql com downloads mysql
  • OpenCV 与 OpenGL 的区别与关系是什么?

    老婆和老婆饼的关系 没啥关系 xff01 CV Computer Vision 和CG Computer Graphics 两者的区别和联系 CV相当于给了计算机摄像头 xff1f 让它捕获处理视觉信息的技术 xff0c 比如进行图像分类
  • 自制STLinkV2.1

    步骤 绘制原理图 layout 打板 焊接 烧录固件 更新固件 绘制原理图 layout 为了方便焊接 xff0c 元器件都放同一面 烧录固件 用现有STLink及软件STM32 ST LINK Utility为其烧录固件 软件及固件已打包
  • IAR下载报错 “Fatal error: Failed to connect to CPU Session aborted!”

    当IAR下载程序进入单片机运行时出现这个弹窗之后就再也下载不进去程序了 xff0c 报以下错误 解决办法 xff1a 这时候就需要对单片机进行复位了 xff0c 一般是先看电路有没有复位按键如果没有复位按键则需要找到复位电路然后找到电路中的
  • uboot和ubuntu ping通测试结果

    前一段时间开始研究uboot xff0c 首先遇到的问题就是下载的别人移植的uboot始终ping不通主机 xff08 Windows中VMWare虚拟机中的ubuntu10 04 xff09 这几天终于找到了一份可以配合手头开发板的移植说
  • PID算法原理及基本实现

    自动控制中 xff0c PID及其衍生出来的算法是应用最广的算法之一 各个做自动控制的厂家基本都有会实现这一经典算法 我们在做项目的过程中 xff0c 也时常会遇到类似的需求 xff0c 所以就想实现这一算法以适用于更多的应用场景 1 PI
  • linux下miniconda+torch环境配置

    几个很简单的步骤却陆陆续续配置了一整天 记录一下 部分步骤来自该博文 xff1a https blog csdn net m0 46336568 article details 127836072 下载miniconda安装包 wget c
  • 树莓派4B安装Ubuntu18.04 + vnc远程桌面

    在实验室对写程序的欲望越来越低下的时候 xff0c 学长给了一个树莓派4B xff0c 让我研究一下 xff0c 因为机器人的上位机就靠它运行 一说新东西我就来劲了 xff0c 可惜实验室里没有SD卡 xff08 旧的断掉了 xff09 x
  • 字符串简单操作(C++中的strrev函数)

    C 43 43 中有函数strrev xff0c 功能是对字符串实现反转 xff0c 但是要记住 xff0c strrev函数只对字符数组有效 xff0c 对string类型是无效的 如下题所示 xff1a Ignatius likes t
  • STC学习:蜂鸣器

    本文需要用到定时器与中断的相关内容 xff0c 已做该内容总结 xff1a STC学习 xff1a 定时器与中断 程序设计目标及程序运行效果说明 程序设计目标 xff1a 通过按下按键1来控制无源蜂鸣器的发声 程序运行效果说明 xff1a
  • STM32F103寄存器方式点亮LED流水灯

    一 点灯 点亮LED灯 xff0c 需要用到GPIO端口 为了点亮LED灯 xff0c 需要三个步骤 xff1a 打开GPIO口的时钟 初始化GPIO口 xff08 选择推挽输出 xff09 设置低电平 1 打开时钟 gpio地址 2 时钟
  • 决策树挑出好西瓜

    一 决策树 1 介绍 决策树是在已知各种情况发生概率的基础上 xff0c 通过构成决策树来求取净现值的期望值大于等于零的概率 xff0c 评价项目风险 xff0c 判断其可行性的决策分析方法 xff0c 是直观运用概率分析的一种图解法 主要
  • SVM算法与用python3+opencv3.4+dlib库编程提取人脸特征

    一 SVM算法 1 1 向量机简述 简介 xff1a 支持向量机 support vector machine SVM xff1a 是监督学习中最有影响力的方法之一 类似于逻辑回归 xff0c 这个模型也是基于线性函数wTx 43 b的 不
  • 游戏客户端编程

    一 测试能否ping通服务器 打开cmd xff0c 输入ping 10 1 230 74 游戏服务器的校园内网IP地址为 10 1 230 74 需要连接校园网 接着输入telnet xff0c 如果输入telnet提示无效命令 xff0