java中的网络入门2(J2SE入门19)
建立TCP客户端
创建一个TCP客户端程序的步骤:
1). 创建Socket
2). 获得I/O流
3). 对I/O流进行读写操作
4). 关闭I/O流
5). 关闭Socket
Socket connection = new Socket(127.0.0.1, 7777); ObjectInputStream input=new ObjectInputStream(connection.getInputStream()); ObjectOutputStream utput=new ObjectOutputStream(connection.getOutputStream());
处理输入和输出流;
关闭流和socket。
UDP socket
这种信息传输方式相当于传真,信息打包,在接受端准备纸。
特点:
1) 基于UDP无连接协议
2) 不保证消息的可靠传输
3) 它们由Java技术中的DatagramSocket和DatagramPacket类支持
DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。
DatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中,其中包括了目标地址和端口以及传送的信息(所以不用建立点对点的连接)。
DatagramPacket的分类:
用于接收:DatagramPacket(byte[] buf,int length)
DatagramPacket(byte[] buf,int offset,int length)
用于发送:DatagramPacket(byte[] buf,int length, InetAddress address,int port )
DatagramPacket(byte[] buf,int offset,int length,InetAddress address,int port)
注:InetAddress类网址用于封装IP地址
没有构造方法,通过
InetAddress.getByAddress(byte[] addr):InetAddress
InetAddress.getByName(String host):InetAddress
建立UDP 发送端
创建一个UDP的发送方的程序的步骤:
1). 创建一个DatagramPacket,其中包含发送的数据和接收方的IP地址和端口号。
2). 创建一个DatagramSocket,其中包含了发送方的IP地址和端口号。
3). 发送数据
4). 关闭DatagramSocket
byte[] buf = new byte[1024];DatagramSocket datagramSocket = new DatagramSocket(13);// set portDatagramPackage intputPackage = new DatagramPackage(buf,buf.length);datagramSocket.receive(inputPackage);DatagramPackage outputPackage = new DatagramPackage(buf,buf.length,inetAddress,port);datagramSocket.send(outputPackage);
没建立流所以不用断开。
建立UDP 接受端
创建一个UDP的接收方的程序的步骤:
1). 创建一个DatagramPacket,用于存储发送方发送的数据及发送方的IP地址和端口号。
2). 创建一个DatagramSocket,其中指定了接收方的IP地址和端口号。
3). 接收数据
4). 关闭DatagramSocket
byte[] buf = new byte[1024];DatagramSocket datagramSocket = new DatagramSocket();//不设端口,因为发送包中端口DatagramPackage outputPackage=new DatagramPackage(Buf,buf.length,serverAddress,serverPort);DatagramPackage inputPackage=new DatagramPackage(buf,buf.length);datagramSocket.receive(inputPackage);
转载于:https://www.cnblogs.com/syxchina/archive/2011/05/04/2197222.html
java中的网络入门2(J2SE入门19)相关推荐
- 第87节:Java中的Bootstrap基础与SQL入门
第87节:Java中的Bootstrap基础与SQL入门 前言复习 什么是JQ? : write less do more 写更少的代码,做更多的事 找出所有兄弟: $("div" ...
- Java中的网络支持Socket应用
title: Java中的网络支持Socket应用 date: 2019-05-04 14:00:00 Java中的网络支持Socket应用 前言: 单机的程序终究会被淘汰的,所以还是要让你的程序软件 ...
- 学习Java第十九天(一):1、Java中的网络编程
1.Java中的网络编程 什么是网络? 在计算机领域中网络是信息传输,接收共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享. 作用:信息传输,资源共享 有点:资源共享免费 O ...
- java 中的网络编程(Socket、TCP三次握手四次挥手、TCP/UDP/URL)
文章目录 前言 一.网络编程概述 二.网络通信要素概述 1.如何实现网络中的主机互相通信 2.网络通信协议 3.IP和端口号 4.InetAddress类 5.网络协议 6.TCP/IP协议簇 7.T ...
- Java中的网络编程类(TCPUDP)
Java中的网络编程类 n Java.net包 – TCP协议 URL URLConnection Socket ServerSocket – UDP协议 DatagramPacket Datagra ...
- 第78节:Java中的网络编程(上)
第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...
- Java中的网络编程入门
网络编程 软件结构 C/S结构: 全称为 Client/Server 结构,是指客户端和服务器结构. B/S结构: 全程为 Browser/Server 结构, 是指浏览器和服务器结构. 网络编程,就 ...
- java中数据结构的应用_Java集合入门 (二)常用数据结构和应用场景-数组
Java极客 | 作者 / 铿然一叶 这是Java极客的第 48 篇原创文章 一.数组的特点 1.数组大小固定 2.一个数组只能存储相同数据类型 3.随机访问性能高 4.存储空间连续,这样可以 ...
- 二十五、Java中的网络编程
1.什么是网络? 概念:在计算机领域中网络是信息传输,接收,共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享. 作用:信息传输,资源共享 优点: 资源共享免费 2.OSI七层 ...
- java中设置网络代理
代理服务器概述 许多系统通过代理服务器访问Web,有时还会访问Internet的其它非HTTP部分.代理服务器接收到本地客户端到远程服务器的请求.代理服务器向远程服务器发出请求,再将结果转发回本地客户 ...
最新文章
- 使用Flask_SQLAlchemy连接多个数据库
- 深度学习系列:深度学习在腾讯的平台化和应用实践
- WIN10+MinGW中文输出乱码的解决方法
- owa_util.get_cgi_env 函数参数说明.
- JS使用按位异或方式加密字符串
- etcd与mysql_etcd数据库备份与还原
- Java与.Net 在RSA加密方面能不能互相通讯操作???
- java实现extended smtp_java实现发送邮件(SMTP)
- 使用Java访问Mysql数据库时出现时区异常的解决方案
- ffmpeg之封装AAC
- Component 初识组件
- 分组在re模块中的使用
- 智能聊天对话机器人的对比
- DSP烧写程序的步骤流程
- Vscode的Tab 键设定
- 阿里云域名以及子域名解析教程
- 元素王座服务器维护,元素王座最新版
- jenkins svn publisher插件使用手册
- PCIE--1--概念认知
- linux添加windows字体文件夹里,如何把Windows下的字体添加到Linux中