建立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)相关推荐

  1. 第87节:Java中的Bootstrap基础与SQL入门

    第87节:Java中的Bootstrap基础与SQL入门 前言复习 什么是JQ? : write less do more 写更少的代码,做更多的事 找出所有兄弟: $("div" ...

  2. Java中的网络支持Socket应用

    title: Java中的网络支持Socket应用 date: 2019-05-04 14:00:00 Java中的网络支持Socket应用 前言: 单机的程序终究会被淘汰的,所以还是要让你的程序软件 ...

  3. 学习Java第十九天(一):1、Java中的网络编程

    1.Java中的网络编程 什么是网络? 在计算机领域中网络是信息传输,接收共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享. 作用:信息传输,资源共享 有点:资源共享免费 O ...

  4. java 中的网络编程(Socket、TCP三次握手四次挥手、TCP/UDP/URL)

    文章目录 前言 一.网络编程概述 二.网络通信要素概述 1.如何实现网络中的主机互相通信 2.网络通信协议 3.IP和端口号 4.InetAddress类 5.网络协议 6.TCP/IP协议簇 7.T ...

  5. Java中的网络编程类(TCPUDP)

    Java中的网络编程类 n Java.net包 – TCP协议 URL URLConnection Socket ServerSocket – UDP协议 DatagramPacket Datagra ...

  6. 第78节:Java中的网络编程(上)

    第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...

  7. Java中的网络编程入门

    网络编程 软件结构 C/S结构: 全称为 Client/Server 结构,是指客户端和服务器结构. B/S结构: 全程为 Browser/Server 结构, 是指浏览器和服务器结构. 网络编程,就 ...

  8. java中数据结构的应用_Java集合入门 (二)常用数据结构和应用场景-数组

    Java极客  |  作者  /  铿然一叶 这是Java极客的第 48 篇原创文章 一.数组的特点 1.数组大小固定 2.一个数组只能存储相同数据类型 3.随机访问性能高 4.存储空间连续,这样可以 ...

  9. 二十五、Java中的网络编程

    1.什么是网络? 概念:在计算机领域中网络是信息传输,接收,共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享. 作用:信息传输,资源共享 优点: 资源共享免费 2.OSI七层 ...

  10. java中设置网络代理

    代理服务器概述 许多系统通过代理服务器访问Web,有时还会访问Internet的其它非HTTP部分.代理服务器接收到本地客户端到远程服务器的请求.代理服务器向远程服务器发出请求,再将结果转发回本地客户 ...

最新文章

  1. 使用Flask_SQLAlchemy连接多个数据库
  2. 深度学习系列:深度学习在腾讯的平台化和应用实践
  3. WIN10+MinGW中文输出乱码的解决方法
  4. owa_util.get_cgi_env 函数参数说明.
  5. JS使用按位异或方式加密字符串
  6. etcd与mysql_etcd数据库备份与还原
  7. Java与.Net 在RSA加密方面能不能互相通讯操作???
  8. java实现extended smtp_java实现发送邮件(SMTP)
  9. 使用Java访问Mysql数据库时出现时区异常的解决方案
  10. ffmpeg之封装AAC
  11. Component 初识组件
  12. 分组在re模块中的使用
  13. 智能聊天对话机器人的对比
  14. DSP烧写程序的步骤流程
  15. Vscode的Tab 键设定
  16. 阿里云域名以及子域名解析教程
  17. 元素王座服务器维护,元素王座最新版
  18. jenkins svn publisher插件使用手册
  19. PCIE--1--概念认知
  20. linux添加windows字体文件夹里,如何把Windows下的字体添加到Linux中

热门文章

  1. pytorch写FCN进行手提包的图像分割,有数据集
  2. python矩阵乘法算法_纯python进行矩阵的相乘运算的方法示例
  3. python同时赋值_python同时给多个变量赋值
  4. 多线程爬取图片 -Java
  5. 悟透delphi 第五章 包
  6. vue 将数据保存到vuex中
  7. 内核同步机制-优化屏障和内存屏障
  8. git log用法【转】
  9. Linux开机报write same failed manually zeroing错误
  10. python的编码规范【摘】