• Java网络编程之套接字(Socket编程)


    套接字
    IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序),端口后被定义为一个16位的0~65535之间的整数,其中,0~1023被预定义的服务通信占用(如telnet占用端口23.http占用端口80等),除非需要访问这些特定服务,否则需要使用1024-65535这些端口的某一个进行通信,以免发生端口冲突,当两个程序需要通信时,他们可以通过Socket类建立套接字对象并连接到一起(端口号和IP地址的组合得出一个网络套接字)。
    客户端的套接字对象
    客户端的程序使用Socket类建立负责连接到服务器的套接字对象。
    Socket的构造方法时Socket(String host,int port),参数host是服务器的IP的地址,
    port是一个端口号,建立套接字可能发生IOException 异常,因此应该像下面一样建立连接到服务器的套接字对象。

    try{
        Socket mScocket = new Socket("http://123.123.123.123",1880);
    }catch(Exception e)
    {
    
    }

    在套接字mSocket 对象建立后,你可以想象一条通信线路已经建立起来。mSocket可以使用方法getInputStream()获得一个输入流,然后用这个输入流读取服务器放入“线路”的信息(但不能读取自己放入线路的信息,就像打电话一样,我们只能听到对方放入线路的声音一样)。mScoket还可以使用方法getOutputStream()获得一个输入流,然后用这个输出流将信息写入“线路”。
    在实际编写程序时,把mSocket使用方法getInputStream()获得的输入流接到另一个数据流上(回忆在文件输入/输出流所进行的连接,道理是一样的),然后就可以从这个数据流读取从服务器中来的信息了,之所以这样做是因为后面DataInputStream流有更好地从流中读取信息的方法。同样,把mSocket使用方法getOutputStream数据流上,然后向这个数据流写入信息,发送给服务器端,之所以这样做是因为后面的DataOutputStream流有更好地向流中写入信息的方法

  • 相关阅读:
    蓝桥杯--算法训练 未名湖边的烦恼 (递归)
    hdoj--5606--tree(并查集)
    山东理工oj--1912--IP地址(水题)
    zzulioj--1634--Happy Thanksgiving Day
    45.java异常处理之抛出异常处理
    43.Java异常概要
    42.Java内部类
    41.Java特征之一多态
    40.Java接口
    39.Java值交换
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11781754.html
Copyright © 2020-2023  润新知