您的位置:首页 > 理论基础 > 计算机网络

黑马程序员_网络编程 (续)

2013-01-13 17:59 197 查看
Socket就是为网络服务提供的一种机制

1:通信的两端都有Scoket

2:网络通信其实就是scoket间的通信

3数据在两个socket间通过Io传输

import java.net.*;

/*需求:通过udp传输方式,将一段文字数据发送出去

思路:

1.建立updsocket服务

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

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

4.关闭资源

*/

class UdpSend

{

 public static void main(String[] args)throws Exception

 {

  //创建udp服务,通过Datagramsocket对象

  DatagramSocket ds=new DatagramSocket();

  //确定数据,并封装成数据包

  byte[] buf="udp ge men lei le".getBytes();//将数据变成字节数组

  DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.101"),10000);

  //确定数据,并封装成数据包

  ds.send(dp);//同过socket服务,将数据包发送

  //关闭资源

  ds.close();

 }

}

/*

需求:

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

思路:

1定义updrece服务

2定义一个数据包,因为要存取接收的字节数据,

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

4通过数据包对象的特有功能,将这些不同的数据取出,打印到控制台上

5关闭资源

*/

class UpdRece

{

 public static void main(String[] args)throws Exception

 {

  //创建udp socket,建立端点

  DatagramSocket ds=new DatagramSocket(10000);

  //定义数据包,用于存取数据

  byte[]buf=new byte[1024];

  DatagramPacket dp=new DatagramPacket(buf,buf.length);

  //通过服务的receive方法将数据存入数据包中

  ds.receive(dp);

  //通过数据包的方法获取其中的数据

  String ip=dp.getAddress().getHostAddress();

  String data=new String(dp.getData(),0,dp.getLength());

  int port=dp.getPort();

  System.out.println(ip+"::"+data+"::"+port);

  //关闭资源

  ds.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: