Tcp 中 Socket() 与 ServerSocket() 的区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tcp 中 Socket() 与 ServerSocket() 的区别?相关的知识,希望对你有一定的参考价值。
Tcp中,Socket()实现客户端套接字,套接字是两台机器间通信的端点,即用于客户端,也用在服务端;而ServerSocekt()类专门用于实现服务器套接字。服务器套接字等待请求,然后通过网络传入。追问就是说服务器套接字的作用,就是监听端口,并创建套接字了。
那么,在通信过程中,即使关闭了serversocket,socket依然开着,通信也是能继续的把?
不能,机器之间通信需要知道ip和端口,ServerSocket()可以用来对本机ip的端口号进行监听,但不能创建套接字,是ServerSocket().accept方法接受客户端传入的套接字。关闭了ServerSocket()相当于关闭了服务器,通信中止。就好像你去超市买东西,但超市已经关门了这种感觉。
追问服务器与客户端的套接字是相同的吗?
追答可以理解为相同的,因为服务端就是接受的客户端的socket对象
参考技术A 服务器与客户端的区别。ServerSocket用于服务器创建,对指定的端口进行监听。
调用accept()方法,获取套接字Socket。追问
就是说服务器套接字的作用,就是监听端口,并创建套接字了。
那么,在通信过程中,即使关闭了serversocket,socket依然开着,通信也是能继续的把?
以上是关于Tcp 中 Socket() 与 ServerSocket() 的区别?的主要内容,如果未能解决你的问题,请参考以下文章