JAVA网络编程
来源:互联网 发布:安卓计步器软件哪个好 编辑:程序博客网 时间:2024/06/03 16:10
JAVA网络编程整理
在这里面主要整理TCP和UDP编程两种
TCP协议
定义
TCP协议是一种可靠的网络协议,在通信的两端各建立一个Socket,然后在两个Socket之间建议一个虚拟的网络联接,双方通过这个联接来进行通信。
Server端
- 新创建一个ServerSocket对象
- 通过ServerSocket的accept()方法,返回一个与客户端联接的Socket
- 通过Socket的getInputStream(),getOutputStream(),然后对这两个字节流进行包装,然后再来进行与客户端的读写。
- 通信完成以后关闭读写流,关闭Socket
一般来ServerSocket不关闭,因为它需要时刻监听任何一个来自客户端的联接请求。
Client端
- 新创建一个Socket对象,此Socket对象需要指定服务端的IP及端口号,其中”127.0.0.1”指的是本机。
- 通过Socket的getInputStream(),getOutputStream(),然后对这两个字节流进行包装,然后再来进行与服务端的读写。
- 通信完成以后关闭读写流,关闭Socket。
从以上步骤可以看见其中Client端与Server的方法比较类似,区别在于Server端需要新创建一个ServerSocket对象,然后再通过ServerSocket对象的accept()方法来创建Socket对象.
UDP编程
定义
UDP协议是一种不可靠的协议,在通信双方各建立一个Socket,但这两个Socket之间并没有虚拟联接,两个Socket只管发送,接收数据包,至于对方有没有收到则不管,存在的问题是可能会丢数据包,导致数据的丢失。
Server端编程
- 新建一个byte[]对象,用来接收客户端传过来的数据。
- 新建DatagramPacket对象,将第1步新建的byte[]对象封装在里面。
- 新建一个DatagramSocket对象。
- 使用DatagramSocket的receive方法,参数为第2步中的DatagramPacket对象。此时数据已经传到byte[]中了。
- 此时已经完成了数据的接受动作,把byte中的数据取出即可。
Client端编程
- 新建一个byte[]对象,用来装需要传输的数据
- 新建DatagramPacket对象,将第1步新建的byte[]对象封装在里面,并且需要在包里面注明接收端的IP及端口号。
- 新建一个DatagramSocket对象。
- 使用DatagramSocket的send方法,参数为第2步中的DatagramPacket对象。此时数据已经发达出去了。
注意:如何Server端需要给Client回复信息,可以从接受到的DatagramSocket中拿到客户端的IP及端口信息(getSocketAddress()方法),然后采用和Client端编程类似的方法来发送即可。
0 0
- 【网络编程】JAVA网络编程
- java网络编程:网络基本概念
- Java网络编程-UDP编程
- Java 高层网络编程
- Java网络编程2
- Java网络编程3
- Java网络编程4
- Java网络服务器编程
- java网络编程1
- java网络编程2
- JAVA网络编程
- Java网络服务器编程
- java网络编程
- Java 高层网络编程
- Java 高层网络编程
- Java网络服务器编程
- Java网络编程
- JAVA网络编程
- Python案例-开发之路-设计模式-单例模式
- 进击的码农-6
- java数据类型
- STM32boot启动
- 172. Factorial Trailing Zeroes
- JAVA网络编程
- 手写体识别(基于Opencv)
- 索引节点和inode的指针结构浅析
- 自定义View:点、图片随手指而移动的View
- 数据结构笔记--线性表
- Ant安装
- LOL匹配算法
- 欢迎使用CSDN-markdown编辑器
- 关于fragment到底是否可见的问题