Java UDP网络编程 - 最简单示例

 

转自 http://blog.csdn.net/wintys/article/details/3525643


  1. /**
  2. *UDPServer
  3. *@author Winty wintys@gmail.com
  4. *@version 2008-12-15
  5. */
  6. import java.io.*;
  7. import java.net.*;
  8. class UDPServer{
  9. publicstaticvoid main(String[] args)throws IOException{
  10. DatagramSocket server = new DatagramSocket(5050);
  11. byte[] recvBuf = newbyte[100];
  12. DatagramPacket recvPacket
  13. = new DatagramPacket(recvBuf , recvBuf.length);
  14. server.receive(recvPacket);
  15. String recvStr = new String(recvPacket.getData() , 0 , recvPacket.getLength());
  16. System.out.println("Hello World!" + recvStr);
  17. int port = recvPacket.getPort();
  18. InetAddress addr = recvPacket.getAddress();
  19. String sendStr = "Hello ! I'm Server";
  20. byte[] sendBuf;
  21. sendBuf = sendStr.getBytes();
  22. DatagramPacket sendPacket
  23. = new DatagramPacket(sendBuf , sendBuf.length , addr , port );
  24. server.send(sendPacket);
  25. server.close();
  26. }
  27. }
  1. /**
  2. *UDPClient
  3. *@author Winty wintys@gmail.com
  4. *@version 2008-12-15
  5. */
  6. import java.io.*;
  7. import java.net.*;
  8. class UDPClient{
  9. publicstaticvoid main(String[] args)throws IOException{
  10. DatagramSocket client = new DatagramSocket();
  11. String sendStr = "Hello! I'm Client";
  12. byte[] sendBuf;
  13. sendBuf = sendStr.getBytes();
  14. InetAddress addr = InetAddress.getByName("127.0.0.1");
  15. int port = 5050;
  16. DatagramPacket sendPacket
  17. = new DatagramPacket(sendBuf ,sendBuf.length , addr , port);
  18. client.send(sendPacket);
  19. byte[] recvBuf = newbyte[100];
  20. DatagramPacket recvPacket
  21. = new DatagramPacket(recvBuf , recvBuf.length);
  22. client.receive(recvPacket);
  23. String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());
  24. System.out.println("收到:" + recvStr);
  25. client.close();
  26. }
  27. }
 

【转】javaUDP套接字通信的更多相关文章

  1. IPC——流套接字通信

    Linux进程间通信——使用流套接字 前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进 ...

  2. Python之路(第三十一篇) 网络编程:简单的tcp套接字通信、粘包现象

    一.简单的tcp套接字通信 套接字通信的一般流程 服务端 server = socket() #创建服务器套接字 server.bind() #把地址绑定到套接字,网络地址加端口 server.lis ...

  3. 并发编程 - 协程 - 1.协程概念/2.greenlet模块/3.gevent模块/4.gevent实现并发的套接字通信

    1.协程并发:切+保存状态单线程下实现并发:协程 切+ 保存状态 yield 遇到io切,提高效率 遇到计算切,并没有提高效率 检测单线程下 IO行为 io阻塞 切 相当于骗操作系统 一直处于计算协程 ...

  4. 网络编程 - 1.简单的套接字通信/2.加上通信循环/3.bug修复/4.加上链接循环/5.模拟ssh远程执行命令

    1.简单的套接字通信 服务端 ''' 服务端 接电话 客户端 打电话 1.先启动服务端 2.服务端有两种套接字 1.phone 用来干接收链接的 2.conn 用来干收发消息的 ''' import ...

  5. 基于套接字通信的简单练习(FTP)

    本项目基于c/s架构开发(采用套接字通信,使用TCP协议) FTP-Socket"""__author:rianley cheng""" 功 ...

  6. Python 37 基于多线程实现套接字 、gevent 、单线程下实现并发的套接字通信

    一:基于多线程实现套接字 可添加多个客户端 from socket import * from threading import Thread def comunicate(conn): while ...

  7. linux 本地套接字通信

    本地套接字通信 利用本地套接字,也可以进程间通信. 本地套接字和有名管道一样都利用伪文件 管道的文件类型是p 本地套接字的文件类型是s. 当调用bind函数后,就会生成本地套接字对应的伪装文件 srw ...

  8. 网络编程 TCP协议:三次握手,四次回收,反馈机制 socket套接字通信 粘包问题与解决方法

    TCP协议:传输协议,基于端口工作 三次握手,四次挥手 TCP协议建立双向通道. 三次握手, 建连接: 1:客户端向服务端发送建立连接的请求 2:服务端返回收到请求的信息给客户端,并且发送往客户端建立 ...

  9. python 之 网络编程(基于TCP协议的套接字通信操作)

    第八章网络编程 8.1 基于TCP协议的套接字通信 服务端套接字函数 s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始TCP监听 s.accept() 被动接受TCP客户的连 ...

随机推荐

  1. xLearn

    https://blog.csdn.net/songbinxu/article/details/79662665

  2. python经典案例

    前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰.本文总结了一些初学者在学习python时做的经典案例 一.名片管理系统(限单个名片) info = {'name':'jam ...

  3. 卷积神经网络系列之softmax,softmax loss和cross entropy的讲解

    我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等.虽然现在已经开源了很多深度学习框架(比如MxNet,Caf ...

  4. 记录-springcloud -mybatis

    搭建springcloud与mybatis 从数据库读取数据返回到浏览器 1:我的工程目录 entity  和mapper 中的代码 controller和service的代码 启动类的文件:记得加包 ...

  5. vue-computed计算属性用法

    siytem函数可以当做变量在html中展现,列:{{siytem}}  v-for(item in siytem)遍历也可以. 这个函数是从获取到的数据中,得到值后再次提取里面的数据,通过下标 me ...

  6. ASP.Net的工作线程与请求队列

    当 ASP.NET 接收针对页的请求时,它从线程池中提取一个线程并将请求分配给该线程. 一个普通的(或同步的)页在该请求期间保留线程,从而防止该线程用于处理其他请求.如果一个同步请求成为 I/O bo ...

  7. 一个不错的多叉树, stl风格

    tree<std::string> tr9; tree<std::string>::pre_order_iterator iter1; tr9.set_head("h ...

  8. BZOJ1270或洛谷1107 [BJWC2008]雷涛的小猫

    BZOJ原题链接 洛谷原题链接 \(DP\)水题. 定义\(f[i][j]\)表示小猫在高度\(i\),位于第\(j\)棵树时最多能吃到的柿子的数量.分为直接往下跳和跳到另一棵树两个决策. 那么很容易 ...

  9. 如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》

    恶意域名指向: 比如,有一个垃圾域名将解析指向到了你们服务器的IP,一般多一个解析可能不会有什么问题,但是现在全民备案时期,可能你的运营商会联系你,说你们的域名没备案,可能会封你们的80端口,然后会导 ...

  10. Android自动化之Monkey环境搭建(一)

    从事测试行业两年了,一直很喜欢研究新技术,但是最近有点慵懒.正好公司新出了产品,督促我学习monkey用来测其稳定性. 网上搜索了很久,内容总是很零散,通常需要找几篇文章才能搭好环境.特写此文,一篇文 ...