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. S8-codelab02

    import news_cnn_model import numpy as np import os import pandas as pd import pickle import shutil i ...

  2. 理解 ASP.NET Web API 中的 HttpParameterBinding

    背景 问题的起因是这样的.群里面一个哥们儿发现在使用 ASP.NET WebAPI 时,不能在同一个方法签名中使用多次 FromBodyAttribute 这个 Attribute .正好我也在用 W ...

  3. HTTP请求方式

    HTTP协议中请求的8中方法 OPTIONS获取服务器支持的HTTP请求方法: HEAD跟get很像,但是不返回响应体信息,用于检查对象是否存在,并获取包含在响应消息头中的信息. GET向特定的资源发 ...

  4. CSS 背景图像 填充整个页面示例

    background-image 属性可以设置背景图像. 背景图像可以填充整个页面的,也可以填写一部分. background-image 属性的使用很简单:background-image:url( ...

  5. RPC web service

    ---------------------------------------------------------------------------------------------------- ...

  6. html页面通过http访问mysql数据库中的内容,实现用户登录的功能

    需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...

  7. OGRE

    [编译 OGRE C#] 1.官网下载 OGRE 源码. 2.打开CMake,指定好OGRE目录,以及生成目标目录. 3.将 CMake/Modules 目录下的 FindSwig.cmake 中的 ...

  8. aop原理及理解

    概念 Aspect Oriented Programming,面向切面编程,实际上它是一个规范.一种设计思路,总之是抽象的. 先上图 使用目的 从项目结构上来说 对业务逻辑的各个部分进行隔离,降低业务 ...

  9. python中list操作方法

    1,创建一个列表 只要把逗号分隔的不同的数据项使用方括号括起来即可.如下所示:复制代码 代码如下:list1 = ['physics', 'chemistry', 1997, 2000];list2 ...

  10. vscode快捷键

    vscode快捷键 按 ctrl+shift+p 查找设置文件Ctrl + W 关闭编辑器 设置定位到终端的快捷键:打开键盘配置文件,搜索focus terminal,找到聚焦到终端的命令,添加ctr ...