分享

【java技术】Socket通信的简单例子(UDP)

 昵称29273511 2015-12-10

  上一个Socket通信的例子是基于TCP协议的Socket。java对于UDP协议的Socket通信同样有很好的封装。下面是一个简单的基于UDP协议的Socket通信的例子。


客户端

Source code

package com.bobohe.socket;

import java.io.*;

import java.net.*;

class UDPClient{

public static void main(String[] args)throws IOException{

DatagramSocket client = new DatagramSocket();

String sendStr = 'Hello! I'm Client';

byte[] sendBuf;

sendBuf = sendStr.getBytes();

InetAddress addr = InetAddress.getByName('127.0.0.1');

int port = 5050;

DatagramPacket sendPacket = new DatagramPacket(sendBuf ,sendBuf.length , addr , port);

//发送数据

client.send(sendPacket);

byte[] recvBuf = new byte[100];

DatagramPacket recvPacket

= new DatagramPacket(recvBuf , recvBuf.length);

//接收数据

client.receive(recvPacket);

String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());

System.out.println('收到:' + recvStr);

client.close();

}

}


服务器端

Source code

package com.bobohe.socket;

import java.io.*;

import java.net.*;

class UDPServer {

public static void main(String[] args) throws IOException {

DatagramSocket server = new DatagramSocket(5050);

byte[] recvBuf = new byte[100];

DatagramPacket recvPacket = new DatagramPacket(recvBuf, recvBuf.length);

server.receive(recvPacket);

String recvStr = new String(recvPacket.getData(), 0,

recvPacket.getLength());

System.out.println('Hello World!' + recvStr);

int port = recvPacket.getPort();

InetAddress addr = recvPacket.getAddress();

String sendStr = 'Hello ! I'm Server';

byte[] sendBuf;

sendBuf = sendStr.getBytes();

DatagramPacket sendPacket = new DatagramPacket(sendBuf, sendBuf.length,

addr, port);

server.send(sendPacket);

server.close();

}

}


  文章来自网络

柠檬大数据简介


  柠檬大数据是中科普开(北京)科技有限公司的一个微信公众平台,主要为热爱大数据的伙伴提供大数据最新发展资讯、各行业的最新应用案例以及免费的学习内容。


  中科普开是国内首家致力于IT新技术领域的领航者,专注于云计算、大数据、物联网、移动互联网技术的培训,也是国内第一家开展Hadoop、云计算的培训机构

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多