客户端程序

客户端程序,第1张

UDP简单服务端客户端代码示例

详细介绍了UDP简单服务器客户端编码示例,原文根据示例编码非常详细,对大家的学习培训或者工作有一定的参考价值,有需要的朋友可以参考一下。

UDP的基础理论就不多讲了。我立马想出了一个关于UDP的HelloWorld程序流程,代码一目了然。期待对新手学员有所帮助!

自然,其实在这方面,因为我只是个新手!

先写服务器代码,服务器绑定本地IP和端口监控浏览:

packageudp; importjava.io.IOException; importjava.net.DatagramPacket; importjava.net.DatagramSocket; importjava.net.InetSocketAddress; /** *UDP服务项目类 */ publicclassUdpServerSocket{ privatebyte[]buffer=newbyte[1024]; privatestaticDatagramSocketds=null; privateDatagramPacketpacket=null; privateInetSocketAddresssocketAddress=null; /** *测试标准 */ publicstaticvoidmain(String[]args)throwsException{ StringserverHost="127.0.0.1"; intserverPort=3344; UdpServerSocketudpServerSocket=newUdpServerSocket(serverHost, serverPort); while(true){ udpServerSocket.receive(); udpServerSocket.response("您好,吃了吗!"); } } /** *构造方法,关联服务器和端口 */ publicUdpServerSocket(Stringhost,intport)throwsException{ socketAddress=newInetSocketAddress(host,port); ds=newDatagramSocket(socketAddress); System.out.println("服务端起动!"); } /** *接收数据文件,该方式会导致进程堵塞 */ publicfinalStringreceive()throwsIOException{ packet=newDatagramPacket(buffer,buffer.length); ds.receive(packet); Stringinfo=newString(packet.getData(),0,packet.getLength()); System.out.println("接收信息:"info); returninfo; } /** *将回应包发给要求端 */ publicfinalvoidresponse(Stringinfo)throwsIOException{ System.out.println("客户端详细地址:"packet.getAddress().getHostAddress() ",端口:"packet.getPort()); DatagramPacketdp=newDatagramPacket(buffer,buffer.length,packet .getAddress(),packet.getPort()); dp.setData(info.getBytes()); ds.send(dp); } }

*** 作结束后,提醒服务器 *** 作已经成功,程序流刚刚开始监听端口,接收模式被阻塞。只有在有浏览的时候才会进行!

大家写客户端,浏览。当他们在网上看到所有的例子时,他们立即设置DatagramSocket目标,但实际上,他们不知道他们使用的是哪个端口。在这里,当我设置时,我将指定我绑定的端口。其实也不是很难,就是我重置目标的时候,发一个端口的主要参数。

当你在这里浏览客户端时,客户端会复制你的IP和端口!

看一看客户端代码:

packageudp; importjava.io.*; importjava.net.*; /** *UDP客户端程序流程,用以对服务端传送数据,并接收服务端的答复信息 */ publicclassUdpClientSocket{ privatebyte[]buffer=newbyte[1024]; privatestaticDatagramSocketds=null; /** *检测客户端分包和接收答复信息的方式 */ publicstaticvoidmain(String[]args)throwsException{ UdpClientSocketclient=newUdpClientSocket(); StringserverHost="127.0.0.1"; intserverPort=3344; client.send(serverHost,serverPort,("您好,親愛的的!").getBytes()); byte[]bt=client.receive(); System.out.println("服务端答复数据信息:"newString(bt)); //关掉联接 try{ ds.close(); }catch(Exceptionex){ ex.printStackTrace(); } } /** *构造方法,建立UDP客户端 */ publicUdpClientSocket()throwsException{ ds=newDatagramSocket(8899);//邦定当地端口做为客户端 } /** *向特定的服务端传送数据信息 */ publicfinalvoidsend(finalStringhost,finalintport, finalbyte[]bytes)throwsIOException{ DatagramPacketdp=newDatagramPacket(bytes,bytes.length,InetAddress.getByName(host),port); ds.send(dp); } /** *接收从特定的服务端送回的数据信息 */ publicfinalbyte[]receive() throwsException{ DatagramPacketdp=newDatagramPacket(buffer,buffer.length); ds.receive(dp); byte[]data=newbyte[dp.getLength()]; System.arraycopy(dp.getData(),0,data,0,dp.getLength()); returndata; } }

马上 *** 作程序流程看实际效果!

文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/774265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存