-
步骤: (1)创建ServerSocket和Socket (2)打开连接到Socket的输入/输出操作 (3)按照协议对Socket进行读/写操作 (4)关闭输入输出流,关闭Socket 服务器端: (1)创建ServerSocket对象,绑定监听器 (2)通过accept()方法监听客户端请求 (3)连接建立以后通过读取客户端发送请求消息 (4)通过输出流向客户端发送响应信息 (5)关闭资源 客户端: (1)创建Socket对象,指明需要连接的服务器地址和端口号(1023以后的端口) (2)连接建立后,通过输出流向服务器端请求 (3)通过输入流获取服务器响应信息 (4)关闭资源 常用I/O操作 InputStream is = socket.getInputStream();//字节输入流 InputStreamReader isr = new InputStreamReader(is)//将字节输入流转换为字符输入流 BufferedReader br = new BufferedReader(isr);//为输入流添加缓冲 br.readLine()按行读取 flush()刷新缓存 -------------------- 客户端的OutputStream对应服务器端的InputStream 客户端的InputStream对应服务器端的OutputStream ----------------------------- 基于TCP(传输控制协议)的Socket通信 1.服务器端,创建server,建立服务器端监听socket,对指定端口进行监听,并等待接收连接请求 2.客户端创建连接socket,向服务端发送请求,两者建立连接 3.服务器端同意客户端的请求并接受,创建连接socket与客户端通信 4.建立连接以后,分别通过输入/输出流开始通信,完成数据的接收和响应 5.最后关闭资源,结束通信查看全部
-
socket发送文件查看全部
-
文件传输协议查看全部
-
协议模型查看全部
-
电脑设备间通信必备三要素:IP、协议、端口查看全部
-
TCP/IP模型 5层查看全部
-
1、ipv4是由4个整形数值组成的,且每个数值使用一个字节表示,而一个字节表示的数值范围为0-255(这里并没有符号位,所有的位都用来表示数据本身)。 2、byte在java中是基本的数据类型(其数值范围为-128-127),但是byte还代表一个字节(即8bit)。例如二进制(一个字节)数据为:‘0100 0001’,它可以被解析为int类型的65,也可以被解析为ascii码的字符‘A’。 相同的字节数据,可以被解析成不同的字符含义(计算机中我们所看到的都是由计算机由字节流到字符解码的结果)。 3、本节中直接输出ip地址的字节数组 的做法是错误的,将导致其数组元素被解析为byte基本数据类型,但是数组中本身存储的数据要表达的并不是这个意思。查看全部
-
多线程socket连接查看全部
-
服务器服务接收客户端发送的信息,和处理字符窜发送信息的输入输出流处理查看全部
-
通信之客户端步骤查看全部
-
通信之服务器端操作查看全部
-
socket通信实现步骤查看全部
-
socket通信模型查看全部
-
java网络的相关类查看全部
-
端口信息查看全部
举报
0/150
提交
取消