package com;

 import java.io.IOException;
import java.net.*; /**
* UDP Client
*
* Created by Administrator on 2018/5/3.
*/
public class Client { public static void main(String[] args) throws IOException { /**
* send message
*/
InetAddress inetAddress = InetAddress.getByName("localhost");
byte[] data = "name:tom, pwd:123".getBytes();
DatagramPacket datagramPacket = new DatagramPacket(data, data.length, inetAddress, 8800);
DatagramSocket datagramSocket = new DatagramSocket();
datagramSocket.send(datagramPacket); /**
* receive message
*/
byte[] data2 = new byte[1024];
DatagramPacket datagramPacket1 = new DatagramPacket(data2, data2.length);
datagramSocket.receive(datagramPacket1);
String info = new String(data2, 0, data2.length);
System.out.println("I am Client, Server say:" + info); /**
* close resource
*/
datagramSocket.close();
}
}
 package com;

 import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress; /**
* UDP Server
*
* Created by Administrator on 2018/5/3.
*/
public class Server { public static void main(String[] args) throws IOException { DatagramSocket datagramSocket = new DatagramSocket(8800); /**
* receive message
*/
byte[] bytes = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
datagramSocket.receive(datagramPacket);
String info = new String(bytes, 0, datagramPacket.getLength());
System.out.println("I am Server, Client say: " + info); /**
* send message
*/
InetAddress inetAddress = datagramPacket.getAddress();
int port = datagramPacket.getPort();
byte[] data = "welcome!".getBytes();
DatagramPacket datagramPacket1 = new DatagramPacket(data, data.length, inetAddress, port);
datagramSocket.send(datagramPacket1); /**
* close resource
*/
datagramSocket.close();
}
}

Java Socket UDP编程的更多相关文章

  1. Java Socket 网络编程心跳设计概念

    Java Socket 网络编程心跳设计概念   1.一般是用来判断对方(设备,进程或其它网元)是否正常动行,一 般采用定时发送简单的通讯包,如果在指定时间段内未收到对方响应,则判断对方已经当掉.用于 ...

  2. Java Socket网络编程的经典例子(转)

    事实上网络编程简单的理解就是两台计算机相互通讯数据而已,对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了,Java SDK提供一些相对简单的Api来完成这些工作.Socket ...

  3. Java Socket网络编程Server端详解

    Socket通信:分为客户端和服务端的socket代码. Java SDK提供一些相对简单的Api来完成.对于Java而言.这些Api存在与java.net 这个包里面.因此只要导入这个包就可以开始网 ...

  4. 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)

    目录[-] 一.TCP/IP协议 二.TCP与UDP 三.Socket是什么 四.Java中的Socket 五.基本的Client/Server程序 六.多客户端连接服务器 七.信息共享 八.文件传输 ...

  5. 【Socket】Java Socket基础编程

    Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...

  6. Java Socket网络编程学习笔记(一)

    0.前言 其实大概半年前就已经看过网络编程Socket的知识了(传统IO),但是因为长时间的不使用导致忘的一干二净,最近正好准备校招,又重新看了网络编程这一章, 是传统IO(BIO)相关的内容,故在此 ...

  7. java Socket Udp聊天

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...

  8. java Socket Udp

    接收端: package cn.itcast.net.p2.udp; import java.io.IOException;import java.net.DatagramPacket;import ...

  9. java - Socket简单编程实践

    1.简介: 1)SOCKET是应用程序和网络之间的一个接口.SOCKET创建设置好以后,应用程序可以: 通过网络把数据发送到socket . 通过网络从socket接收数据.(通信的前提是应用程序知道 ...

随机推荐

  1. 如何把node更新到最新的稳定版本

    先装n,再用n把node升级到最新稳定版 $ npm install -g n $ n stable

  2. Scrum立会报告+燃尽图(十一月十九日总第二十七次):功能开发与修复上一阶段bug

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...

  3. lintcode-120-单词接龙

    120-单词接龙 给出两个单词(start和end)和一个字典,找到从start到end的最短转换序列 比如: 每次只能改变一个字母. 变换过程中的中间单词必须在字典中出现. 注意事项 如果没有转换序 ...

  4. 学生导师互选系统(php代码规范)

    学生导师互选系统(php代码规范) php编码规范 组名:一不小心就火了 负责项目:学生导师互选系统(安卓端) 编写目的 为了更好的提高团队的的合作效率,保证开发的有效性和合理性,并可最大程度的提高程 ...

  5. IE8 没有内容的盒子,如果有定位,浮现在其他盒子上 可能会有点击穿透没有作用的情况

    IE8 没有内容的盒子,如果有定位,浮现在其他盒子上 可能会有点击穿透没有作用的情况

  6. bootstrap-datapicker 时间约束

    <div class="input-group date date-picker" id="StartTime"> <input type=& ...

  7. HDU——1788 Chinese remainder theorem again

    再来一发水体,是为了照应上一发水题. 再次也特别说明一下,白书上的中国剩余定理的模板不靠谱. 老子刚刚用柏树上的模板交上去,简直wa出翔啊. 下面隆重推荐安叔版同余方程组的求解方法. 反正这个版本十分 ...

  8. python 序列化 pickle shelve json configparser

    1. 什么是序列化 我们把变量从内存中变成可存储或传输的过程称之为序列化. 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上. 反过来,把变量内容从序列化的对象重新读到内存里称 ...

  9. day4 列表 增删改查 元组

    增lis=["a","b","c",5,7,4]lis.append("s")#在列表的末尾追加lis.extend(& ...

  10. BZOJ4887 Tjoi2017可乐(动态规划+矩阵快速幂)

    设f[i][j]为第i天到达j号城市的方案数,转移显然,答案即为每天在每个点的方案数之和.矩乘一发即可. #include<iostream> #include<cstdio> ...