【Kilav】JAVA知识点速通 网络编程

发布于:2022-12-25 ⋅ 阅读:(218) ⋅ 点赞:(0)

1.概述

  • 进程和另一台主机上的进程建立连接
  • 任务
    • 找到对方主机
    • 完成数据传输
  • java.net
    • 提供基于流通信
    • 提供基于包通信

2.URL

统一资源定位符(Uniform Resource Locator),

    • URL表示Internet上某一资源的地址。
    • 当创建URL时发生错误,系统会产生异常MalformedURLException
      • 这是非运行时异常,必须在程序中捕获处理。

3.IP地址

IP地址由32 位IPv4 或 128 位  IPv6 无符号数字构成,

    • 可以唯一确定Internet上一台主机。

4.TCP/UDP

    • Socket

 套接字

      • 用来将网络数据流连接到程序上。
      • 可以看做是不同主机之间的进程进行双向通信的端点,
      • 用套接字中的相关函数来完成通信过程。
      • 对于一个特定的网络连接,连接两端的计算机中各有一个套接字,这两个套接字之间有一条网络线路。
      • 服务端程序和客户端程序都通过套接字与网络线路打交道,从而可以忽略网络线路的硬件细节
      • 流套接字: Socket,ServerSocket
        • 用TCP
      •  数据报套接字  DategramSocket
        • 用UDP

5 .建立服务器

        • 1.创建一个ServerSocket对象。
          • 可调用ServerSocket的构造函数:
          • public ServerSocket(int port, int queueLength)
          • throws IOException,BindException
          • 例如:ServerSocket server=new ServerSocket(5776,100)
        • 2.通过调用ServerSocket的accept方法等待客户端连接;     
          • 若连接建立,则返回一个Socket对象,并通过该对象管理每个客户端连接。
          • Socket connection=server.accept();  调用sever.accept()函数 返回一个Socket对象
        • 3.获得OutputStream和InputStream对象,通过发送和接收字节,使服务器能与客户端通信。
          • 服务器调用Socket的getOutputStream/getInputStream获得输出流/输入流引用。利用 OutputStream的write方法和InputStream的read方法,可以发送和接收单个字节或者字节序列。
        • 4.处理阶段,服务器和客户端通过OutputStream和InputStream对象通信。
        • 5.传输完成时,服务器对流和Socket调用close方法,关闭连接。

6.建立客户端

        • 1.需创建一个连接到服务器的Socket,可使用Socket的构造函数,将其连接到服务器上。例如:Socket connection=new Socket( serverAddress, port);创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
        • 2.客户端使用Socket的方法getOutputStream/getInputStream,分别获得输出/输入流引用。也可套接其他输入输出流类,增强其输入输出功能。如服务器使用某种形式发送信息,则客户端也必须使用相同的形式接收信息。如:服务端使用ObjectOutputStream发送值,则客户端应使用ObjectInputstream读取这些信息。
        • 3.处理阶段,服务器和客户端使用OutputStream和InputStream对象引用进行通信。
        • 4.当传输完成时,客户端会对流和Socket调用close方法,关闭连接。


网站公告

今日签到

点亮在社区的每一天
去签到