java中的网络编程详解 TCP 和UDP
来源:互联网 发布:js lambda表达式 编辑:程序博客网 时间:2024/05/22 01:27
String.getBytes();方法可以转化为一个byte数组。即byte[] =s.getBytes();
网络技术编程
一、客户端编程步骤
1、 简历网络连接。需要制定连接到的服务器的IP地址和端口号。
2、 交换数据。客户端发送一个请求,服务器响应一个请求。
3、 关闭网络。交换完数据之后,关闭网络连接,释放端口号,内存等资源。
二、服务器端网络编程步骤。
1、 监听端口。服务器端属于被动等待连接,不需要发起连接,只需要监听本地计算机的某个端口即可。
2、 获得连接。客户端连接到服务器端时,就可以获得一个连接。这个连接包括客户端IP地址等信息。获得连接时,需要开启专门的线程处理该连接。每个连接都由一个独立的线程实现。
3、 交换数据。
4、 关闭连接。
首先介绍一个基础的网络类,InetAddress类,该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。用getHostName()方法可以获取本地的域名和IP地址。getByName();方法,可以使用域名、IP地址创建对象,getLocalHost()获取本机地址对象,getHostAddress()获取存在inetAddress中的IP地址。
InetAddressinet=InetAddress.getLocalHost();获得本机地址对象。
TCP编程
TCP编程时java.net.Socket代表客户端连接。Java.net.ServerSocket类代表服务器端连接。
所以创建客户端连接就是创建Socket对象。
例如:Socket socket= new Socket(“192.168.1.1”,10000);
一旦建立连接,我们进行数据传输使用JAVA io流实现。
OutputStreamos=socket.getOutputStream();获得输出流。
InputStreamis=socket.getInputStream(); 获得输入流。
先向输出流中写入数据,这些数据会被系统发送出去。然后输入流读取服务器端的反馈信息。
os.write(data);发送数据。
Is.read();输出反馈数据.
服务器端,ServerSocket serversocket=newServerSocket(10000);监听,当有客户端连接到达时,需要建立对应的socket对象, Socket s=serversocket.accept():获得连接。
UDP编程
UDP(userDatagram Protocol)用户数据报协议,在JAVA API 中,实现UDP编程的方式,包含客户端编程和服务器网络边恒分别是DatagramSocket和DatagramPacket;
DatagramSocket类实现网络连接,包括客户端和服务器端网络连接。它实现的就是发送数据时的发射器,以及接受数据时的监听器的角色。
DatagramPocket实现的对于网络中传输的数据封装。该
对象代表网络中交换的数据。在UDP编程中,无法发送的数据还是接受的数据都需要被处理成DatagramPacket对象,其中包含发送到的地址、发送到的端口以及发送的内容。
在客户端的建立连接不需要指定IP地址和端口号,DatagramSocket ds=new DatagramSocket();当然也可以指定连接使用的端口号。UDP编程中IO技术不是必须的。在发送数据时,需要将发送的数据转换为byte数组,然后将发送的内容,服务器ip和端口号一起构成一个DatagramPacket类型对象,这样数据的准备就完成了。
DatagramPacket中的getAddress()获得其数据包中的ip地址,getPort()获得端口号,getData()获得数据,getLength获得数据长度。getAddress获得的ip地址需要赋值给InetAddress对象,然后用它的getHostAddress()方法吧ip地址解析出来。
说明:DatagramPacketdp=new DatagramPacket(data, data.length, addrdss, serverport);
第一个参数是byte数组类型数据,第二参数是长度,第三参数是InetAddress对象获得的ip地址,第四就是端口号;第三参数创建可用ip地址直接创建;
- java中的网络编程详解 TCP 和UDP
- Java网络编程中的TCP,UDP通信方式详解
- Java中的TCP/UDP网络通信编程
- Java中的TCP/UDP网络通信编程
- Java网络编程:TCP和UDP
- JAVA网络编程TCP和UDP
- Java 网络编程之TCP和UDP
- Java之网络编程UDP和TCP
- JAVA网络编程 TCP、UDP
- java网络编程----TCP UDP
- Java网络编程,UDP TCP
- JAVA TCP/UDP网络编程
- java网络编程(TCP\UDP)
- 网络编程-TCP和UDP
- 网络编程-UDP和TCP
- Java学习疑惑(7)----网络编程, 详解TCP与UDP两者之间的共同点和差异
- 【Linux网络编程】TCP 和 UDP 数据报格式详解
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- VC++程序员如何做好界面
- vs2010使用备忘
- 计算机系统函数(过程)调用堆栈分析
- C/C++中容器vector使用方法<第一弹>
- MFC MDI程序的退出菜单突然不能退出了
- java中的网络编程详解 TCP 和UDP
- 互联网金融“众筹”试水姑苏
- 三大工厂模式
- UITextView 回收键盘
- Docker 网络学习笔记
- RPM 默认安装的路径
- Matlab重要的一些命令
- linux后台程序员常用各种工具和脚本汇编
- 一个简单的判断抢购时间是否到达的js函数