Java再学习—TCP/UDP通信原理
2015-05-06 22:07
225 查看
TCP
一.服务器端
1.首先创建类java.net.serversocket的实例对象,注册在服务器端进行连接的端口号以及允许连接的最大客户数目ServerSocket server=null;
server=new ServerSocket(5000);//建立服务器端套接字,端口号在0~633350
2.调用类java.net.serversocket的成员方法accept来等待并将听来自客户端的连接
Socket s=server.accept();//建立服务器端server与客户端s的连接当建立起连接后accept方法返回连接通道在服务器端的套接字s
3.使用socket成员方法getinputstream和getoutputstream方法获得该套接字对应的输入流和输出流,通过获得输入输出流与客户端进行通信
<span style="white-space:pre"> </span>DataOutputStream dataout=new DataOutputStream(s.getOutputStream()); dataout.writeUTF("服务器端向客户端问好");4.通讯完毕关闭输入输出流和套接字
<span style="white-space:pre"> </span>dataout.close(); <span style="white-space:pre"> </span>s.close();
二.客户端
1.同服务器端1,需要指定服务器端主机名以及进行连接的端口号Socket s=new Socket("localhost",5000);2.同服务器端2
DataInputStream dataln=new DataInputStream(s.getInputStream()); System.out.println("客户端收到:"+dataln.readUTF()); dataout.writeUTF("服务器端向客户端问好"); dataln.close(); s.close();
UDP
一.服务器端
1.建立数据报套接字DatagramSocket dsocket=new DatagramSocket(8000);2.件需要传送的数据封装成数据报包,
DatagramPacket inpacket=new DatagramPacket(inbuffer,inbuffer.length);3.用receive成员方法将接受的数据存放在数据报包inpacket中
dsocket.receive(inpacket);4.发送方式相似
dsocket.send(outpacket);
5.关闭数据包套接字
dSocket.close();
二.客户端
<span style="white-space:pre"> </span>DatagramSocket dSocket=new DatagramSocket(); if (args.length==0) { addr= InetAddress.getByName("127.0.0.1"); } else { addr= InetAddress.getByName(args[0]); } String s=new String("请求连接"); outbuffer=s.getBytes(); DatagramPacket outPacket=new DatagramPacket(outbuffer,outbuffer.length,addr,8000); dSocket.send(outPacket);
相关文章推荐
- java学习之路——基于UDP的Socket网络通信实例
- Java学习之路7——UDP通信
- 黑马程序员_Java学习日记第八天--TCP/UDP通信、正则表达式
- java学习笔记-----qq项目----在服务器端实现两个客户端的通信的原理
- JAVA学习之基于UDP的通信
- 某科学的超 Java网络编程:Socket通信原理及实例学习
- Java学习-Tcp_Socket通信原理
- 【Java学习笔记】59:DatagramPack和DatagramSocket做UDP通信
- 九.ARM裸机学习之串口通信详解1(串口通信接口及原理框图详解)
- Java中Socket网络通信原理
- java学习笔记(11)--网络通信
- Java 非阻塞式的高伸缩性IO通信 学习demo
- Java 非阻塞式的高伸缩性IO通信 学习demo
- 基于Tcp&UDP协议的简单Socket通信实例(JAVA)
- Java学习-URL和爬虫原理
- Java学习-UDP编程
- Java并发学习之ThreadLocal使用及原理介绍
- 轻松学习java可重入锁(ReentrantLock)的实现原理
- 深入Java集合学习系列:HashMap的实现原理
- JAVA Socket编程学习1--系统间通信概述