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

城市建设模拟游戏官方网站关于网的设计创意作品

城市建设模拟游戏官方网站,关于网的设计创意作品,动漫网站建设的目标,网站开发公司企业官网文章目录 UDP简介一发一收客户端:服务端: 多发多收实现多开客户端:服务端 UDP简介 UDP(User Datagram Protocol) DatagramSocket 用于创建客户端、服务端DatagramSocket() :创建客户端的Socket对象,系统随…

文章目录

      • UDP简介
      • 一发一收
        • 客户端:
        • 服务端:
      • 多发多收
        • 实现多开
        • 客户端:
        • 服务端

UDP简介

UDP(User Datagram Protocol)请添加图片描述

DatagramSocket 用于创建客户端、服务端DatagramSocket() :创建客户端的Socket对象,系统随机分配一个端口
DatagramSocket(int port) : 创建服务端的Socket对象,指定端口号DatagramPacket(byte buf[], int length,InetAddress address, int port) 
创建发出去的数据包参数解释:
byte buf[]:字节数组,用于接收数据
int length :数据的长度
InetAddress address 网址对象
int port 端口号DatagramPacket(byte buf[], int length)
创建用来接收的数据包

方法:

send(DatagramPacket p) //发数据
receive(DatagramPacket p) //接收数据

一发一收

要先启动服务端再启动客户端。

客户端:
public class Client {public static void main(String[] args) throws Exception {//创建客户端对象DatagramSocket socket = new DatagramSocket();/*  public DatagramPacket(byte buf[], int length,InetAddress address, int port) */byte[] bytes = "客户端发送给了一个数据包".getBytes();DatagramPacket packet = new DatagramPacket(bytes,bytes.length, InetAddress.getLocalHost(),6666);socket.send(packet);System.out.println("客户端数据发送完毕");socket.close();//记得关闭,不然占用资源。}
}
服务端:
public class Server {public static void main(String[] args) throws Exception {DatagramSocket socket = new DatagramSocket(6666);System.out.println("服务端启动");//创建一个数据包对象,用于接受数据byte[] buffer = new byte[1024 * 64];//数据包最大为64kDatagramPacket packet = new DatagramPacket(buffer,buffer.length);socket.receive(packet);int len = packet.getLength();String rs = new String(buffer,0,len);System.out.println(rs);System.out.println("客户端的IP:"+packet.getAddress().getHostAddress());System.out.println("客户端的端口:"+packet.getPort());socket.close();}
}

多发多收

相比一收一发改进的地方:

  • 实现多次发送自定义信息
  • 输入stop 时候退出
实现多开

在这里插入图片描述
在这里插入图片描述

客户端:

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;public class Client {public static void main(String[] args) throws Exception {//创建客户端对象DatagramSocket socket = new DatagramSocket();/*  public DatagramPacket(byte buf[], int length,InetAddress address, int port) */Scanner sc = new Scanner(System.in);while (true) {System.out.println("请输入数据:");String msg = sc.nextLine();if (msg.equals("stop")) {break;}byte[] bytes = msg.getBytes();DatagramPacket packet = new DatagramPacket(bytes,bytes.length, InetAddress.getLocalHost(),6666);socket.send(packet);}System.out.println("感谢使用!!!");socket.close();}
}
服务端

服务端一般是不关闭的。

import java.net.DatagramPacket;
import java.net.DatagramSocket;public class Server {public static void main(String[] args) throws Exception {DatagramSocket socket = new DatagramSocket(6666);System.out.println("服务端启动");while (true) {//创建一个数据包对象,用于接受数据byte[] buffer = new byte[1024 * 64];DatagramPacket packet = new DatagramPacket(buffer,buffer.length);socket.receive(packet);int len = packet.getLength();String rs = new String(buffer,0,len);System.out.println(rs);System.out.println("客户端的IP:"+packet.getAddress().getHostAddress());System.out.println("客户端的端口:"+packet.getPort());}
//        socket.close();}
}
http://www.yayakq.cn/news/306409/

相关文章:

  • 网站后台密码破解教程网站主色调有几种
  • 做网站设计的平台网站架构招聘
  • 青岛网上房地产网站联系深圳网站制作公司
  • 冬奥会建设官方网站做网页制作的价格
  • 北京app开发网站建设WordPress底部添加版权注明
  • 旅游网站设计策划书wordpress 取消响应式
  • 想要学做网站需要什么动漫设计属于什么大类
  • 怎样辨别网站简单的管理系统
  • 手机网站开发服务网页关键词排名优化
  • 做推送的网站有哪些wordpress做门户
  • 做网站时需要注意什么自己名字怎么设计logo
  • 高端网站建设 选择磐石网络爱你社区
  • 请问聊城网站建设网页制作的公司为什么瓯北没有
  • 金山专业网站建设保定公司网站建设
  • 网站网站建设设计公司网站域名正在维护中
  • 徐州专业做网站顺企网宁波网站建设
  • 温州做网站整站优化知识营销案例有哪些
  • 深圳网站建设服务找哪家昆明室内设计公司排名
  • 建设网站哪个便宜菜鸟如何做网站
  • 本地做织梦网站企业软件项目管理系统
  • 免费的网站域名和空间wordpress二维码活码
  • 12389举报网站建设项目域名申请好了 怎么做网站
  • 猪八戒里面做网站骗子很多家具网站建设策划方案
  • 分类门户网站系统163网易企业邮箱格式
  • 做船公司网站asp网站开发工具神器
  • 英文专业的网站设计学校网站制作
  • wordpress 设置角色seo网址查询
  • 衡阳商城网站制作中国大连网站
  • 网站改版总结酒业网站模板下载
  • 做网站什么分类流量多wordpress原生html5播放器