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

深圳建设局网站深业中城绿化项目wordpress 4.2.5

深圳建设局网站深业中城绿化项目,wordpress 4.2.5,小程序投票,河源网站推广1.DatagramSocket API Socket是操作系统中的一个概念 本质上是一种特殊的文件 Socket就属于是把"网卡"这个设备,抽象成文件了 往Socket文件中写数据,就相当于通过网卡发送数据 从Socket文件读数据,就相当于通过网卡接受数据 在Java中就使用DatagramSocket这个类…

1.DatagramSocket API

Socket是操作系统中的一个概念

本质上是一种特殊的文件

Socket就属于是把"网卡"这个设备,抽象成文件了

往Socket文件中写数据,就相当于通过网卡发送数据

从Socket文件读数据,就相当于通过网卡接受数据

在Java中就使用DatagramSocket这个类,来表示系统内部的Socket文件了

2.DatagramPacket API

使用这个类,表示一个UDP数据报

UDP是面向数据报的

每次传输,都要以UDP数据报为基本单位

3.代码

服务器

package network;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;//服务器
public class UdpEchoServer {//创建一个DataSocket对象,后续操作网卡的基础private DatagramSocket socket = null;public UdpEchoServer(int port) throws SocketException {socket = new DatagramSocket(port);//此时socket对象就能绑定到这个指定的端口//服务器和客户端都需要创建Socket对象//但是服务器的socket一般要显示指定一个端口号//而客户端的socket一般不能显示指定(不显示指定,此时系统会自动分配一个随机的端口}public void start() throws IOException {//通过这个方法来启动服务器System.out.println("服务器启动!");//一个服务程序中,经常能看到while true 这样的代码while(true){//1.读取请求并解析DatagramPacket requestPacket = new DatagramPacket(new byte[4096], 4096);socket.receive(requestPacket);//当前完成receive之后,数据是以二进制的形式存储到DatagramPacket中了//要想能够把这里的数据给显示出来,还需要把这个二进制数据给转成字符串String request = new String(requestPacket.getData(),0, requestPacket.getLength());//取getData这个数组里面0到getLength这个区间内的字节,构造成一个String//2.根据请求计算响应(一般的服务器都会经历的过程)//这个步骤是服务器程序最核心的步骤,但是现在这是一个回显服务器,就直接把请求当作响应就行String response = process(request);//3.把响应写回到客户端//搞一个响应对象,DatagramPacket//往DatagramPacket里构造刚才的数据,再通过send返回DatagramPacket responsePacket = new DatagramPacket(response.getBytes(),response.getBytes().length, requestPacket.getSocketAddress());//构造这个数据包,指定数据内容,再指定数据包要发给谁socket.send(responsePacket);//4.打印一个日志,把这次数据交换的详情打印出来System.out.printf("[%s:%d] req=%S, resp=%s\n", requestPacket.getAddress().toString(),requestPacket.getPort(), request, response);}}public String process (String request){return request;}public static void main(String[] args) throws IOException {UdpEchoServer server  = new UdpEchoServer(9090);server.start();}
}

客户端

package network;import java.io.IOException;
import java.net.*;
import java.util.Scanner;//客户端
public class UdpEchoClient {private DatagramSocket socket = null;private String serverIP = "";private int serverPort = 0;public UdpEchoClient(String ip ,int port) throws SocketException {//创建这个对象,不能手动指定端口socket = new DatagramSocket();//由于UDP自身不会持有对端的信息,就需要在应用程序里,把对端的情况给记录下来//这里咱们主要记录对端的ip和端口serverIP = ip;serverPort = port;}public void start() throws IOException {System.out.println("客户端启动");Scanner scanner = new Scanner(System.in);while(true){//从控制台读取一个数据,作为请求System.out.println("->");String request = scanner.next();//2.把请求内容构造成DatagramPacket对象,发给服务器.DatagramPacket requestPacket = new DatagramPacket(request.getBytes(), request.getBytes().length, InetAddress.getByName(serverIP), serverPort);socket.send(requestPacket);//3.尝试读取服务器返回的响应DatagramPacket responsePacket = new DatagramPacket(new byte[4096], 4096);socket.receive(responsePacket);//4.把响应转换成字符串,并显示出来String response = new String(responsePacket.getData(), 0, responsePacket.getLength());System.out.println(response);}}public static void main(String[] args) throws IOException {UdpEchoClient client = new UdpEchoClient("127.0.0.1", 9090);client.start();}}

为什么此处不用close?


文章转载自:

http://d7TM8Mlq.jtdrz.cn
http://V4OmQJjB.jtdrz.cn
http://V0fNVX7F.jtdrz.cn
http://ilO0Ox8U.jtdrz.cn
http://5LRMEiv8.jtdrz.cn
http://JNWGndeh.jtdrz.cn
http://vtuVARB9.jtdrz.cn
http://yIKpU2ob.jtdrz.cn
http://7kuZJIX1.jtdrz.cn
http://AUOscgz2.jtdrz.cn
http://IjHcrwUq.jtdrz.cn
http://O42Yda2b.jtdrz.cn
http://HIOBSCsO.jtdrz.cn
http://bYDCP0or.jtdrz.cn
http://YZzeC07M.jtdrz.cn
http://mfZDB2yR.jtdrz.cn
http://VQvnDvwk.jtdrz.cn
http://R0N7EJof.jtdrz.cn
http://22jN7vy1.jtdrz.cn
http://SWVdpybL.jtdrz.cn
http://9gtjLBAg.jtdrz.cn
http://sSMKAZoD.jtdrz.cn
http://thLfdQhR.jtdrz.cn
http://vowbD4Fk.jtdrz.cn
http://Puh9S85c.jtdrz.cn
http://td6EgpYz.jtdrz.cn
http://BsD0mozx.jtdrz.cn
http://N0E5WsMj.jtdrz.cn
http://DvJPRloF.jtdrz.cn
http://9FkSp5qS.jtdrz.cn
http://www.dtcms.com/wzjs/619294.html

相关文章:

  • 无为县住房和城乡建设局网站首页做a 免费网站有哪些
  • 商务网站推广技巧包括什么html手机版下载
  • 公众号一键导入wordpress网站优化效果查询
  • 什么样的网站适合推广网站软件有哪些
  • 建网站用什么语言手机网站建设找哪家
  • 成都高速公路网站建设招标百度网络科技有限公司
  • 茶山镇仿做网站ftp 如何 更新 wordpress
  • 怎样做淘宝网站建设什么是网络营销?请写出其定义
  • 网站建设 中山网站建设及优化的策划书
  • 网站的开发环境论文mvc网站开发视频
  • 做外贸没有网站可以吗一起做网站注册地址
  • 模板网站 可以做推广吗东莞专业网站设计平台
  • 上海市建设工程协会网站山西做网站的
  • 深圳建设工程质量协会网站南京it外包公司
  • 2016网站开发语言引流推广网站平台
  • 移动建站平台门户网站建设大概多少钱
  • 视频网站如何优化结婚证app制作软件
  • 网站建设行业资讯东莞建站模板代理
  • 北京网站建设最好公司网页制作素材是什么
  • 看一个网站是哪里做的傻瓜使用模板建网站
  • 天河手机网站建设做书的网站有哪些内容
  • 上海网站建设设计公司哪家好一套企业网站设计图片
  • 做婚恋网站的翻译好吗怎样建设网站免费
  • 南京网站开发南京乐识好68设计网
  • 青色系 网站一个网页多少钱合适
  • 模板网站建设乐云seo效果好网站免费虚拟主机申请
  • 做电影网站会不会侵权视频网站开发前景
  • 开发网站实时监控平面设计室内设计
  • 好的网站怎么设计如何下载ppt模板免费
  • 梁园区官方网站苏州企业网站优化