- 浏览: 219649 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zzhyq:
有没有后台是ASHX 的呀
Ext.tree.TreePanel -
693593336:
谢谢作者分享,正好用上
Ext.tree.TreePanel -
greatwqs:
提供一个下载的demo不是更好
基于servlet的 Freemarker Demo
实验课上测试的源码。
1)服务器端
Code:
- importjava.io.*;
- importjava.net.*;
- //服务器端
- publicclassUDPServerTest{
- staticpublicvoidmain(Stringargs[]){
- DatagramSocketreceiveSocket=null;
- try{
- //DatagramSocket(intport):创建实例,并固定监听Port端口的报文。通常用于服务端
- receiveSocket=newDatagramSocket(55511);
- bytebuf[]=newbyte[1000];
- //DatagramPacket(byte[]buf,intlength):将数据包中Length长的数据装进Buf数组,一般用来接收客户端发送的数据。
- DatagramPacketreceivePacket=newDatagramPacket(buf,buf.length);
- System.out.println("开始接受数据:");
- booleanflag=true;//作为接收完之后退出的标记
- while(flag){
- //接收数据报文到d中。receive方法产生一个“阻塞”。“阻塞”是一个专业名词,它会产生一个内部循环,
- //使程序暂停在这个地方,直到一个条件触发。
- receiveSocket.receive(receivePacket);
- Stringname=receivePacket.getAddress().toString();
- System.out.println("/n来自主机:"+name+"/n端口:"
- +receivePacket.getPort());
- //从实例中取得报文的Byte数组编码
- Strings=newString(receivePacket.getData(),0,receivePacket
- .getLength());
- System.out.println("接受到的数据是:"+s);
- flag=false;
- //需关闭连接,也关闭端口。
- receiveSocket.close();
- }
- }catch(SocketExceptione){
- receiveSocket.close();
- e.printStackTrace();
- System.exit(-1);
- }catch(IOExceptione){
- receiveSocket.close();
- System.out.println("网络通讯出现错误,问题在"+e.toString());
- }
- }
- }
2)客户端
Code:
- importjava.io.*;
- importjava.net.*;
- //客户端
- publicclassUDPClientTest{
- publicstaticvoidmain(Stringargs[]){
- DatagramSocketsendSocket=null;
- try{
- //DatagramSocket():通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。程序会让操作系统分配一个可用的端口。
- //DatagramSocket(intport):创建实例,并固定监听Port端口的报文。通常用于服务端
- sendSocket=newDatagramSocket();
- Stringstring="whoau没死过,不知道dead的感觉";
- byte[]databyte=newbyte[100];
- databyte=string.getBytes();
- //从Buf数组中,取出Length长的数据创建数据包对象,目标是clientAddress地址,clientPort端口,通常用来发送数据给客户端。此处事发送给服务器端
- DatagramPacketsendPacket=newDatagramPacket(databyte,
- databyte.length,InetAddress.getByName("222.17.97.152"),
- 55511);
- //发送报文sendPacket到目的地
- sendSocket.send(sendPacket);
- System.out.println("客户端开始传送数据!");
- sendSocket.close();
- }catch(SocketExceptione){
- sendSocket.close();
- e.printStackTrace();
- System.out.println("不能打开数据报Socket,或数据报Socket无法与指定端口连接!");
- }catch(IOExceptionioe){
- sendSocket.close();
- System.out.println(ioe.toString());
- }
- }
- }
总结:异常或正常退出时,最好调用close方法,否则可能造成资源无法收回。
发表评论
-
Singletons and lazy loading
2011-09-26 19:47 919The Java Memory Model # ... -
JVM blogs
2011-09-14 21:40 473话说是 【JVM详解的专题】,很多文章的差不多的,有的详 ... -
effective Java _Generic
2011-09-12 12:03 0#23 -
Class Loader
2011-08-28 16:47 784专栏合集(一):Java深度历险 pdf已上传1 ... -
Study Linkinginginginginginginging
2011-08-27 10:42 738#1 java 工程和类等路径汇总 #2 让Apac ... -
How to send Email
2011-08-26 15:32 6051.java mail 使用介绍 2.Java ... -
Java_Try_Finally
2011-07-18 11:51 650public class TestTryCatch { ... -
Java Class ClassLoader
2011-07-15 17:05 1032下午在看《Java 深度历险》,对Class & ... -
关键字 final & transient
2011-06-08 16:49 970final 详见: http://java.chinaitl ... -
课程设计3
2010-01-04 14:09 781题目3:动态分区式存储管理的存储分配和回收 一、设计目的 ... -
课程设计1
2010-01-04 14:24 751采用的是C++语言编写的,但PCB的数据结构是符合要求的。 ... -
os课程设计后感
2010-01-04 14:48 543今天终于把操作系统的实验给终结了。基本要求算是符合了,可能表 ... -
java作业01
2010-03-06 16:02 665package homework01; public cla ... -
Java作业02
2010-03-11 14:22 794package homework02; import jav ... -
File函数返回当前路径
2010-03-12 19:37 673package netWorkMoreThreadCopy; ... -
多线程文件复制(界面)1
2010-03-12 23:45 943package netWorkMoreThreadCopy; ... -
Java IO 转摘
2010-03-15 00:26 514java中的io中的(input/output)str ... -
java作业03
2010-03-17 00:59 699package homework03; import jav ... -
Java作业
2010-03-17 01:19 642package homework03;import java. ... -
java作業3
2010-03-18 18:36 593package homework03;/** 首先编写一个抽象 ...
相关推荐
【标题】"RAW_UDP实验"涉及的是嵌入式系统中的网络通信技术,主要集中在使用STM32微控制器、LWIP轻型TCP/IP协议栈以及DP83848网络接口芯片进行UDP(用户数据报协议)的原始数据传输。在物联网(IoT)和嵌入式设备中,...
【Matlab UDP简单通讯实现】 在信息技术领域,UDP(User ...这在教学、实验或快速原型开发中具有很高的实用价值。在实际应用中,还需要考虑错误处理、多线程处理、数据编码解码等细节,以确保程序的稳定性和健壮性。
很好的资料哦,是清华大学计算机网络课实验的要求之一
本项目是创新实验课最后的大实验,开发了一个可靠的UDP传输系统,采用了应答响应的思路,也就是TFTP的基本原理。整个开发过程全部使用的最简单易懂的代码,本人学习java网络编程也就用了一两周吧,但有一些c语言套接...
在本实验课程中,我们将深入探讨四个核心概念:TCP(传输控制协议)、UDP(用户数据报协议)、并发服务员和循环服务员。这些概念是构建网络应用的基础,对于理解和开发高效的网络服务至关重要。 首先,TCP是一种...
"UDP通讯实验"是针对这些微控制器进行的实践教学项目,目的是让学生或开发者理解如何在硬件层面实现UDP通信。UDP协议与TCP(Transmission Control Protocol)相比,它不提供连接建立、数据确认和流量控制等机制,...
这个项目是一个在实验课上完成的小型应用程序,它的主要功能是在局域网内实现基于UDP(User Datagram Protocol)协议的即时通信。UDP是一种无连接的、不可靠的传输层协议,它在互联网协议族中扮演着重要的角色,尤其...
在这个大三的计算机网络实验课项目中,你们的任务是使用VB(Visual Basic)编程语言来实现基于这两种协议的客户端-服务器通信。 TCP是一种面向连接的、可靠的协议。它确保数据包按照发送顺序到达目的地,并且如果...
远程屏幕广播技术在教育、企业培训、远程会议等多个领域发挥着关键作用,尤其在计算机网络实验室中,教师能够通过局域网实时将自身的屏幕画面同步到多台学生电脑上,实现高效、直观的教学体验。此外,在多媒体设备...
网络虚拟示波器是一种基于网络技术的虚拟仪器,它可以通过网络接口与计算机连接,实现与传统示波器相似的信号捕捉和分析功能。本文讨论的网络虚拟示波...在高校的虚拟仪器教学、实验以及工业生产中具有广泛的应用价值。
在计算机网络实验课的第一部分,学生将深入理解局域网(LAN)的基本概念。局域网是一种在有限地理范围内连接多台计算机和设备的网络,通常用于办公室、学校或家庭环境。实验台是进行网络实践操作的重要平台,它可能...
计算机网络实验教学是信息技术教育的重要组成部分,旨在让学生深入理解网络原理、掌握网络操作技能,并培养实际问题解决能力。本实验教学教案围绕多个关键知识点展开,包括网络常用命令、双绞线制作、交换机配置管理...
tcp和udp的基础代码均已包括,这是我们实验课做的实验,觉得挺有用的,希望与大家分享!
本试验软件工具箱主要用于《网络编程》这门课的实验教学,其中包括:进程管理、线程管理、IP地址与域名解析、网卡信息检测、TcpListener类与聊天程序服务器端设计、TcpClient类与聊天程序的客户端设计、UdpClient类...
标题“udp.zip_drop”指的是一个与UDP(User Datagram Protocol)相关的项目或程序,它包含了发送器和接收器的实现,用于模拟在数据传输...同时,这也是网络协议教学和实验的良好素材,有助于加深对UDP协议特性的理解。
计算机网络技术实验教学大纲旨在培养电子信息和通信工程专业学生对计算机网络的理论知识和实践技能。大纲围绕着几个核心实验项目展开,旨在让学生通过实际操作来理解和掌握计算机网络的关键概念和技术。 首先,实验...
【计算机网络技术】课程实验教学大纲旨在通过实践操作来加深学生对计算机网络基本概念、原理和技术的理解,提高其动手能力和问题解决能力。实验内容通常包括以下几个核心知识点: 1. **TCP/IP协议栈**:学生将学习...
更方便于《网络编程》这门课的实验教学,主要实验有:进程管理、线程管理、IP地址与域名解析、网卡信息检测、TcpListener类与聊天程序服务器端设计、TcpClient类与聊天程序的客户端设计、UdpClient类与组播程序设计...