首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

黑马软件工程师-Java基础学习之网络编程(TCP、UDP、Socket、模拟发送和接收数据)

2013-09-29 
黑马程序员--Java基础学习之网络编程(TCP、UDP、Socket、模拟发送和接收数据)----------------- ASP.NetAndro

黑马程序员--Java基础学习之网络编程(TCP、UDP、Socket、模拟发送和接收数据)
----------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! -------------------

网络传输过程:

        1,找到对方ip

        2,数据发送到指定端口(每个应用程序对应一个端口)

        3,定义通信规则,即协议   TCP/IP

UDP

        1,面向无连接,将数据、源、目的封装(像邮递东西)

        2,数据报大小限制在64k内

        3,不可靠协

        4,速度快

TCP

        1,面向连接,形成传输数据的通道(像打电话)

        2,连接中进行大量数据量传输

        3,可靠协议,三次握手,

        4,必须建立连接,效率低

Socket

        1、Socket就是为网络服务提供的一种机制。

        2、通信两端都有Socket

        3、网络通信其实就是Socket间的通信

        4、数据在两个Socket之间通过IO传输

通过udp传输方式将一段数据发送出去

        1,建立udpsocket服务

        2,提供数据,并将数据封装在数据包中

        3,通过socket服务的发送功能,将数据包发出去

        4,关闭资源

定义一个应用程序,用于接收udp协议传输的数据并处理

        1,定义一个udpsocket服务。通常监听一个端口

        2,定义数据包,要存储接收到的字节数据,因为数据

        3,通过socket服务的receive方法将接收到的数据存入已经定义好的额数据包中

        4,通过数据包对像特有功能,将数据取出

        5,关闭资源


import java.net.*;class  UdpSend{public static void main(String[] args) throws Exception{//1,创建udp服务,通过DatagramSocket对象DatagramSocket ds = new DatagramSocket(8888);//2,确定数据,并封装为数据包。byte[] data = "udp test data".getBytes();DatagramPacket dp = new DatagramPacket(data,data.length,InetAddress.getByName("localhost"),10000);//3,通过socket服务的send()方法,将已有的数据包发送出去。ds.send(dp);//4,关闭资源ds.close();}public static void sop(String str){System.out.println(str);}}class UdpRece{public static void main(String[] args) throws Exception{ //1,创建udp socket,设置端口DatagramSocket ds = new DatagramSocket(10000);//2,定义数据包,用于存储数据byte[] data = new byte[1024];DatagramPacket dp = new DatagramPacket(data,data.length);//3,通过服务的receive方法将收到的数据存入数据包中。ds.receive(dp);//阻塞方法,等待接收数据//4,使用数据包的方法取出其中对应的数据String ip = dp.getAddress().getHostAddress();String reData = new String(dp.getData(),0,dp.getLength());int port = dp.getPort();System.out.println(ip+"----"+reData+"-----"+port);//5,关闭资源ds.close();}}











-------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------

热点排行