JAVA基础学习总结,day21(网络编程,Socket 类,ServerSocket 类)

软件结构:
c/s
b/s

网络编程:

概述:在一定的协议下,书写代码使得两台计算机在网络下进行通信
网络通信协议:通信协议是对计算机必须遵守的的规则

TCP/IP协议:传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol),是Internet最基本、最广泛
TCP协议特点:面向连接,数据安全,传输数据慢 三次握手
UDP协议特点:面向无连接,数据不安全,传输数据快

网络编程三要素

协议: 计算机网络通信必须遵守的规则
IP地址: IP地址用来给一个网络中的计算机设备做唯一的编号
端口号: 端口号就可以唯一标识设备中的进程(应用程序),用两个字节表示的整数,它的取值范围是0-65535,其中,0-1023之间的端口号,已经占用

通信程序
两端通讯时步骤:
1.服务端程序,需要事先启动,等待客户端的连接
2.客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端

两个类用于实现TCP通信程序:
1.客户端:java.net.Socket 类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信
2.服务端; java.net.ServerSocket 类表示。创建ServerSocket对象,相当于开启一个服务,并等待客户端的连接。

Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点

构造方法
public Socket(String host, int port):创建套接字对象并将其连接到指定主机上的指定端口号。 如果指定的host是null,则相当于指定地址为回送地址

成员方法
public InputStream getInputStream(): 返回此套接字的输入流
public OutputStream getOutputStream(): 返回 此套接字的输出流
public void close(): 关闭此套接字
public void shutdownOutput(): 禁止此套接字的输出流

ServerSocket 类:这个类双向了服务器套接字,该对象等待通过网络的请求
构造方法
public ServerSocket(int port): 使用该构造方法在创建ServerSocket对象时 就可以将其绑定到一个指定的端口号上,参数port就是端口号

成员方法
public Socket accept(): 侦听并接受连接,返回一个新的Socket对象,用于和客户端实现通信
该方法会一直阻塞直到建立连接,如果客户端没有发送请求或者没有和服务器连接成功,那么就会一直阻塞,如果连接成功,就返回Socket对象

客户端:
1.创建一个Socket对象,指定连接的服务器的ip地址以及端口号
2.通过socket对象获取输出流
3.创建一个字节输入流,封装数据源文件
4.使用字节输入流从硬盘中读取文件的数据
5.使用socket对象获取的输出流把这些文件数据写给服务器
6.关闭流,释放资源

服务端:
1.创建一个serversocket对象,指定服务的端口号
2.调用accept()方法,等待连接,如果连接上了就会返回对应的socket对象
3.创建一个字节输出流对象,封装目的地文件
4.使用socket对象获取输入,流读取客户端写过来的数据
5.使用输出流对象,把这些文件数据写到服务器的硬盘中
6.关闭流,释放资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值