zoukankan      html  css  js  c++  java
  • java-Socket

    1.java.net.Socket;套接字、封装了TCP通讯协议,使用它可以基于TCP与远端计算机上的服务端应用程序链接并进行通讯。
    实例化Socket就是与服务器端建立连接的过程。这里需要传入两个参数来指定服务端地址信息:
    参数1:服务器端计算机地址
    参数2:运行在服务器计算机上的服务端应用程序打开的服务端口
    通过IP可以找到服务端计算机,在通过端口可以连接到运行在服务端极端及上的服务端应用程序。由于实例化就是连接过程,若服务端咩有响应,这里实例化Socket会抛出异常。
    Socket提供方法:
    OutputStream getOutputStream()
    通过Socket获取的输入流写出的字节都会通过网络发送给远端计算机。这里就等于发送给服务端。
    2. 运行在服务端的java.net.ServerSocket;
    主要有两个作用:
    1.向系统申请对外的服务端口,客户端Socket就是通过这个端口与服务器程序建立连接的。
    2.监听该服务端口,一旦一个客户端Socket通过该端口尝试建立连接,serverSocket就会感知并实例化一个Socket与该客户端进行通讯。
    ServerSocket提供方法:
    Socket accept()
    该方法时一个阻塞方法,用于监听服务端口,直到一个客户端连接上为止。这里会返回一个Socket,通过这个Socket就可以与客户端进行通讯了。
    通过Socket获取输入流,读取的数据就是来自远端计算机发送过来的数据。这里相当于读取的时客户端发送过来的数据;
    InputStream in = socket.getInputStream();
    当使用缓冲流读取一行来自客户端发送过来的字符串过程中,br.readLine方法会一直阻塞直到客户端断开连接,那么客户端的系统不同这里的反应也不同。当Windows的客户端断开时,方法会抛出异常当Linux的客户端断开时方法会返回null

    我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

    更多精彩以后更新,转载注明!

  • 相关阅读:
    pycharm修改快捷键
    pycharm如何解决新建的文件没有后缀的问题
    创建py模板
    用ctrl+鼠标滚动调节字体大小
    pycharm调整代码长度分割线
    pycharm怎么设置代码自动补齐
    python3用BeautifulSoup抓取div标签
    python3用BeautifulSoup用re.compile来匹配需要抓取的href地址
    python3用BeautifulSoup用limit来获取指定数量的a标签
    python3用BeautifulSoup用字典的方法抓取a标签内的数据
  • 原文地址:https://www.cnblogs.com/CaiNiao-TuFei/p/7482275.html
Copyright © 2011-2022 走看看