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() 的区别?的主要内容,如果未能解决你的问题,请参考以下文章

TCP与UDP在socket编程中的区别

Socket与TCP的关联与区别

什么是Socket连接?与TCP连接有什么关系?

TCP与UDP在socket编程中的区别

雷达 tcp ip socket c++

http 与 TCP 与 socket 定义,区别