zoukankan      html  css  js  c++  java
  • Socket通信

    1:ServerSocket。

    构造方法:ServerSocket(int port) : 创建一个绑定端口号的服务器

    accept();监听并且接受Socket,并且返回一个Socket通信包。

    2:Socket。

    构造方法:Socket(String host,int port);

    字节流:

    getOutputStream(); 输出流方法 (outputStream类)

    getInputStream();输入流方法

    字符流:

    PrintWriter pw = new printWriter(out);输出

    BufferedReader br = new BufferedReader(new InputStreamReader(in));输入

    ServerSocket:

    Socket:

    TCP socket通信
    服务器端流程如下:
    1.创建serverSocket
    2.初始化 serverAddr(服务器地址)
    3.将socket和serverAddr 绑定 bind
    4.开始监听 listen
    5.进入while循环,不断的accept接入的客户端socket,进行读写操作write和read
    6.关闭serverSocket
    客户端流程:
    1.创建clientSocket
    2.初始化 serverAddr
    3.链接到服务器 connect
    4.利用write和read 进行读写操作
    5.关闭clientSocket


    这个列表是一个Berkeley套接字API库提供的函数或者方法的概要:
    socket() 创建一个新的确定类型的套接字,类型用一个整型数值标识,并为它分配系统资源。
    bind() 一般用于服务器端,将一个套接字与一个套接字地址结构相关联,比如,一个指定的本地端口和IP地址。
    listen() 用于服务器端,使一个绑定的TCP套接字进入监听状态。
    connect() 用于客户端,为一个套接字分配一个自由的本地端口号。 如果是TCP套接字的话,它会试图获得一个新的TCP连接。
    accept() 用于服务器端。 它接受一个从远端客户端发出的创建一个新的TCP连接的接入请求,创建一个新的套接字,与该连接相应的套接字地址相关联。
    send()和recv(),或者write()和read(),或者recvfrom()和sendto(), 用于往/从远程套接字发送和接受数据。
    close() 用于系统释放分配给一个套接字的资源。 如果是TCP,连接会被中断。
    gethostbyname()和gethostbyaddr() 用于解析主机名和地址。
    select() 用于修整有如下情况的套接字列表: 准备读,准备写或者是有错误。
    poll() 用于检查套接字的状态。 套接字可以被测试,看是否可以写入、读取或是有错误。
    getsockopt() 用于查询指定的套接字一个特定的套接字选项的当前值。
    setsockopt() 用于为指定的套接字设定一个特定的套接字选项。

  • 相关阅读:
    【LabVIEW】多列列表框使用汇总
    【LabVIEW】数据类型 汇总
    U-BOOT移植 前准备
    linux 的 输入子系统 与 平台设备系统个人理解
    关于内核编译的理解
    关于 内核编译make menuconfig 不能使用的解决
    函数式接口的使用 (Function、Predicate、Supplier、Consumer)
    获取单列集合,双列集合,数组的Stream流对象以及简单操作
    多线程的创建、匿名内部类方式创建线程、定义、调度步骤
    异常类的使用
  • 原文地址:https://www.cnblogs.com/lulup/p/4131873.html
Copyright © 2011-2022 走看看