- 浏览: 468023 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
一.socket通信有2种,一种是基于tcp的可靠连接,一种是基于UDP的无连接包投递服务连接,UDP通信中常用到的类有:DatagramSocket类和DatagramPacket类。
二.DatagramSocket类表示用来发送和接收数据报包的套接字。
数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。
在 DatagramSocket 上总是启用 UDP 广播发送。为了接收广播包,应该将 DatagramSocket 绑定到通配符地址。在某些实现中,将 DatagramSocket 绑定到一个更加具体的地址时广播包也可以被接收。
主要构造方法:
DatagramSocket()
构造数据报套接字并将其绑定到本地主机上任何可用的端口。
DatagramSocket(int port)
创建数据报套接字并将其绑定到本地主机上的指定端口。
主要方法有:
receive(DatagramPacket p) 从此套接字接收数据报包。
send(DatagramPacket p) 从此套接字发送数据报包。
close() 关闭此数据报套接字。
三.DatagramPacket类提供数据包的服务。
数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。
主要构造方法:
DatagramPacket(byte[] buf, int length)
构造DatagramPacket,用来接收长度为 length的数据包。
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
构造数据报包,用来将长度为length的包发送到指定主机上的指定端口号。
主要方法有:
getPort()返回某台远程主机的端口号,此数据报将要发往该主机或者是从该主机接收到的。
getLength() 返回将要发送或接收到的数据的长度。
getAddress() 返回某台机器的 IP 地址,此数据报将要发往该机器或者是从该机器接收到的。
四.实验代码:
MyReceive.java
MySend.java
二.DatagramSocket类表示用来发送和接收数据报包的套接字。
数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。
在 DatagramSocket 上总是启用 UDP 广播发送。为了接收广播包,应该将 DatagramSocket 绑定到通配符地址。在某些实现中,将 DatagramSocket 绑定到一个更加具体的地址时广播包也可以被接收。
主要构造方法:
DatagramSocket()
构造数据报套接字并将其绑定到本地主机上任何可用的端口。
DatagramSocket(int port)
创建数据报套接字并将其绑定到本地主机上的指定端口。
主要方法有:
receive(DatagramPacket p) 从此套接字接收数据报包。
send(DatagramPacket p) 从此套接字发送数据报包。
close() 关闭此数据报套接字。
三.DatagramPacket类提供数据包的服务。
数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。
主要构造方法:
DatagramPacket(byte[] buf, int length)
构造DatagramPacket,用来接收长度为 length的数据包。
DatagramPacket(byte[] buf, int length, InetAddress address, int port)
构造数据报包,用来将长度为length的包发送到指定主机上的指定端口号。
主要方法有:
getPort()返回某台远程主机的端口号,此数据报将要发往该主机或者是从该主机接收到的。
getLength() 返回将要发送或接收到的数据的长度。
getAddress() 返回某台机器的 IP 地址,此数据报将要发往该机器或者是从该机器接收到的。
四.实验代码:
MyReceive.java
package udp; import java.net.*; public class MyReceive { public static void main(String[] args) { MyReceive.receive(); } public static void receive() { try{ DatagramSocket ds=new DatagramSocket(9528);//在端口9528接收数据报包的套接字 byte[] buf=new byte[100]; DatagramPacket dp=new DatagramPacket(buf,100);//创建长度为100的数据接收包 ds.receive(dp);//套接字接受数据包 System.out.println(new String(buf,0,dp.getLength())); //这里接收完成,我们给发送者一条消息,告诉他发送成功了 String str="message send success!"; DatagramPacket senddp=new DatagramPacket(str.getBytes(),str.length(), dp.getAddress(),dp.getPort()); //创建发送包 ds.send(senddp);//执行发送 ds.close();//关闭UDP套接字 }catch(Exception e) {e.printStackTrace();} } }
MySend.java
package udp; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.net.*; public class MySend { public static void main(String[] args) { String str = ""; try { while (str.length() < 1) { System.out.println("请输入您的名字"); str = new DataInputStream(new BufferedInputStream(System.in)) .readLine(); } } catch (Exception e) { e.printStackTrace(); } MySend.send(str); } public static void send(String str) { try{ DatagramSocket ds=new DatagramSocket(); DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(), InetAddress.getByName("127.0.0.1"), 9528); ds.send(dp); byte[] buf=new byte[100]; DatagramPacket recedp=new DatagramPacket(buf,100); ds.receive(recedp); System.out.println(new String(buf,0,recedp.getLength())); ds.close(); }catch(Exception e) {e.printStackTrace();} } }
发表评论
-
计算机网络知识
2011-06-01 16:19 793一个http请求的详细过程 我们来看当我们在浏览器输入htt ... -
java udp socket实例
2010-12-06 12:28 7121客户端: package udp; import jav ... -
线程池实现tcp socket
2010-12-01 17:23 2880前面的程序,当一个客户端请求到来时,服务器端就会临时性的创建一 ... -
tcp socket实例(改进)
2010-12-01 16:16 1593上一篇的程序服务器端只能接受一个客户端请求,本篇改为模拟多客户 ... -
java tcp socket实例
2010-12-01 13:44 1629网络编程的基本模型就是客户端到服务器端模型,一段必须提供一个固 ... -
telnet协议(转)
2010-10-14 17:17 1139我们知道Telnet服务器软 ... -
whois协议(转)
2010-10-14 14:28 1361当我们预备建立一个Web站点,就必须向域名登记机构申请一个In ... -
java 网络协议(一)Tcp多线程服务器端编程
2010-10-14 11:33 54861,通用服务器代码: package multiThread; ... -
java 网络协议(一)UDP
2010-10-14 09:24 1476UDP测试程序,无需建立连接 package udp; ... -
java 网络协议(一)Tcp
2010-10-14 08:52 51371,简化的服务器端程序 package tcp; imp ... -
java 网络协议(一)InetAddress和Socket(含源码)
2010-10-14 08:24 18831,ip地址和主机名互换 package getip; ... -
ftp协议2(转)
2010-10-12 16:26 965FTP协议工作原理 FTP有 ... -
ftp协议(转)
2010-10-12 16:21 1266ftp协议 FTP协议将使用两 ... -
SMTP服务协议(转)
2010-10-11 15:31 1246SMTP服务概述 鉴于本课程的默认读者群是那些对Inter ... -
利用socket发送接收邮件(转)
2010-10-11 15:18 4190这是在网上摘的,执行接收邮件出现:530 Authentica ... -
jdk6.0从入门到精通-----chapter5网络编程 新I/O(含源码下载)
2010-09-21 10:13 1430本例向用户通过参数指定的主机端口发送一段请求报文,然后读取和打 ... -
jdk6.0从入门到精通-----chapter6--http
2010-09-14 16:32 946用httpconnection进行文件下载,建立一般的jav ... -
java自学===Filter类的应用,验证用户
2010-09-14 14:37 940Filter类 package com; import ... -
java自学===Filter类的应用,网站数量统计
2010-09-14 12:31 1940package filterStatistic; imp ... -
jdk6.0从入门到精通-----chapter5网络编程 udp套接字
2010-09-12 13:46 1162用到的主要类DatagramPacket,DatagramSo ...
相关推荐
Java中的TCP和UDP Socket通信是网络编程的基础,用于在不同设备之间建立可靠的数据传输通道。TCP(Transmission Control Protocol)提供的是面向连接、有序且无损的服务,而UDP(User Datagram Protocol)则是无连接...
Java基于socket实现的客户端和服务端通信功能完整实例 在Java中,Socket是实现网络通信的基础,通过Socket可以实现客户端和服务器端之间的通信。本文将详细介绍Java基于Socket实现的客户端和服务端通信功能,包括...
在这个“JAVA基于UDP通信的一对一聊天”示例中,我们将探讨如何利用Java的Socket编程来实现UDP通信的基本原理和流程。 首先,我们需要了解UDP通信的基础。UDP协议不提供连接建立、数据顺序保证或错误校验,因此它的...
SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现。websocket_study.rar 为springMVC版本的socket实现 websocket02.rar 里面包含tomcat的websocket实现+java socket双向通信...
在Java中,`java.net.Socket`和`java.net.ServerSocket`类是实现Socket通信的核心类。ServerSocket用于服务器端,监听特定端口,等待客户端的连接请求;Socket则代表客户端,它与服务器建立连接后,可以进行数据的...
1. **Java Socket编程**:Java提供了`java.net.DatagramSocket`类来处理UDP通信。开发者需要创建一个`DatagramSocket`对象来监听特定端口并发送数据报文。 2. **数据报文的封装与解封装**:UDP通信的数据单元是`...
"基于JAVA的简单Socket通信" 本文主要讨论了基于JAVA的简单Socket通信,介绍了Socket通信的原理和过程,并用JAVA编程实现了Socket通信,实现了服务器A和客户机B之间的一对一的通信。 什么是Socket Socket是指什么...
Java Socket编程实现UDP网络测试是计算机网络领域中的一个重要实践,主要涉及到Java编程语言以及网络通信协议UDP(User Datagram Protocol)。Socket在计算机网络中扮演着桥梁的角色,它允许应用程序通过网络发送和...
在Java中,我们可以通过Java的Socket编程API来实现UDP通信,主要涉及两个类:`DatagramSocket`和`DatagramPacket`。`DatagramSocket`用于创建一个UDP套接字,它允许发送和接收数据报。`DatagramPacket`则用于封装要...
总之,这个压缩包提供了一个学习Java UDP多线程通信的好起点,包括服务器端的`ServerThread`实现、简单的客户端示例,以及多线程Socket编程的参考资料。通过对这些代码和资料的学习,开发者可以掌握创建高效、可扩展...
在“pb_Socket”这个压缩包文件中,可能包含了使用Java实现的TCP和UDP Socket通信的示例代码。通常,这些示例会包括客户端(Client)和服务器(Server)两部分。客户端通过Socket连接到服务器,并通过输入/输出流与...
Java基于Socket的网络通信是Java编程领域中的一个重要知识点,它涉及到如何通过网络在不同设备间交换数据。Socket在计算机网络中扮演着客户端和服务器之间的桥梁角色,使得它们能够相互通信。在这个Java项目中,我们...
Java UDP(用户数据报协议)是网络编程中的一个重要部分,特别是在构建实时通信或者对低延迟有较高需求的应用中。在Java中,UDP通信主要通过`java.net.DatagramSocket`类来实现。这个教程将深入讲解如何使用Java进行...
本项目提供的"TCPSocket 和UDP通信java聊天室源文件"是一个很好的实践案例,用于学习如何在Java中实现这两种协议的聊天室功能。下面将详细阐述TCP与UDP的特点、Java中Socket编程的基本概念以及如何运用这些知识来...
Java语言中的UDP(User Datagram Protocol)通信是一种基于无连接的数据包网络协议,相较于TCP,它提供了更低的延迟和更高的吞吐量,但不保证数据的顺序和可靠性。在Java中,我们通过`java.net`包中的`...
在Java编程语言中,UDP(User Datagram Protocol)Socket是实现基于无连接网络通信的重要工具。UDP是一种无连接的传输层协议,它不保证数据的顺序、可靠性和完整性,但具有低延迟和高效率的特点,适合实时数据传输...
Java中的Socket通信主要通过`java.net.Socket`和`ServerSocket`类来实现。与C#类似,服务器端需要创建`ServerSocket`,并调用`accept()`方法等待客户端连接。客户端则创建`Socket`对象,指定服务器的IP地址和端口号...
Java UDP套接字网络编程是Java编程领域中的一个重要部分,主要涉及如何利用Java的Socket类库来实现基于用户数据报协议(User Datagram Protocol)的通信。UDP是一种无连接的、不可靠的传输协议,适用于对实时性要求...
标题中的"udp.rar_java socket udp_socket udp"表明这是一个关于Java编程中使用UDP(User Datagram Protocol)的教程或代码集合。UDP是一种无连接的传输层协议,常用于需要快速传输但可以容忍数据丢失的场景,如在线...
在本文中,我们将深入探讨如何使用Java基于UDP协议实现图片群发功能。UDP(用户数据报协议)是一种无连接的网络协议,它在通信过程中不建立连接,因此具有较高的效率,适合实时性要求高的应用场景。然而,由于其不...