java中封装了大量的socket API,为编写网络通信程序提供了极大的方便.
在计算机网络的学习中,大家都已熟练掌握了TCP/UDP的基本原理,在此不在赘述.仅给出接收端和发送端的源代码,供大家讨论和批评.
发送端代码如下:
//只要稍加改进,即可发送数据 import java.io.*; import java.lang.*; import java.net.*; public class uclient ...{ private DatagramSocket cli; private DatagramPacket pac; private byte sb[]; private String sen; public uclient() ...{ Init(); } public void Init() ...{ try ...{ //指定端口号,避免与其他应用程序发生冲突 cli=new DatagramSocket(10002); sb=new byte[1024]; sen="UDP方式发送数据"; sb=sen.getBytes(); pac=new DatagramPacket(sb,sb.length,InetAddress.getByName("localhost"),10005); cli.send(pac); } catch(SocketException se) ...{ se.printStackTrace(); } catch(IOException ie) ...{ ie.printStackTrace(); } } public static void main(String args[]) ...{ new uclient(); } }
//加以改进代码,可以改变接收方式 import java.io.*; import java.lang.*; import java.net.*; public class userve ...{ private DatagramSocket ser; private DatagramPacket pac; private byte rb[]; private String rev; public userve() ...{ Init(); } public void Init() ...{ try ...{ ser=new DatagramSocket(10005); rb=new byte[1024]; pac=new DatagramPacket(rb,rb.length); rev=""; int i=0; while(i==0)//无数据,则循环 ...{ ser.receive(pac); i=pac.getLength(); //接收数据 if(i>0) ...{ //指定接收到数据的长度,可使接收数据正常显示,开始时很容易忽略这一点 rev=new String(rb,0,pac.getLength()); System.out.println(rev); i=0;//循环接收 } } } catch(Exception e) ...{ e.printStackTrace(); } } public static void main(String args[]) ...{ new userve(); } }
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 网络管理实用手册 (22482篇文章)
- 网络故障手册 (14519篇文章)
- 网络组网专题 (12542篇文章)
- 网络建设 (14081篇文章)
- Java环境安装配置 (5640篇文章)
- Java编程开发手册 (8291篇文章)
- 热门通信技术专区 (2016篇文章)
- 通信技术专题 (2016篇文章)
- JAVA网络 (459篇文章)
- Java网络及通讯编程 (666篇文章)
- J2SE综合:浅谈java程序发布之 jre 篇 (11次浏览)
- JAVA代码中使用魔法数值 (8次浏览)
- Hibernate缓存管理 (6次浏览)
- JAVA代码应该流畅和结构化 (5次浏览)
- Java JVM设置对性能的影响 (4次浏览)
- 开发框架:深入了解 Struts Validator (3次浏览)
- Java中的通信机制及与C/C API的集成 (1次浏览)
- 用Hibernate实现领域对象的自定义字段 (1次浏览)
- Java语言入门 简述Java语言回收机制 (0次浏览)
- 2008年Java开发者最迫切的五个期望 (0次浏览)



