ServerSocket 和 Socket 通信实例

     以下实例演示了如何实现客户端发送消息到服务器,服务器接收到消息并读取输出,然后写出到客户端客户端接收到输出。

  1. Socket类的构造函数如下:

     Socket()  通过系统默认类型的 SocketImpl 创建未连接套接字    

      Socket(InetAddress address, int port)   创建一个流套接字并将其连接到指定 IP 地址的指定端口号。    

      Socket(InetAddress address, int port, InetAddress localAddr, int localPort)  创建一个套接字并将其连接到指定远程地址上的指定远程端口。    

      Socket(Proxy proxy) 创建一个未连接的套接字并指定代理类型(如果有),该代理不管其他设置如何都应被使用。    

      protected   Socket(SocketImpl impl) 使用用户指定的 SocketImpl 创建一个未连接 Socket。

       Socket(String host, int port)  创建一个流套接字并将其连接到指定主机上的指定端口号。    

       Socket(String host, int port, InetAddress localAddr, int localPort) 创建一个套接字并将其连接到指定远程主机上的指定远程端口。    

2、重要的Socket API:
  用最频繁的三个方法
.       Accept()用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续

      getInputStream()获得网络连接输入,同时返回一个IntputStream对象实例,。
      getOutputStream()连接的另一端将得到输入,同时返回一个OutputStream对象实例。
       注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。

服务端Server:

 客户端Client:

Socket原理机制:基于TCP协议传输

                             通信两端都有socket

                             网络通信其实就是socket之间的通信

                             数据在两个socket间通过I/O传输

猜你喜欢

转载自blog.csdn.net/laomumu1992/article/details/85238043