创建套接字VS创建连接

时间:2016-01-09 07:21:31

标签: java sockets networking network-programming

我是socket编程的新手,想问一些基本问题 -

  1. 套接字只是互联网上数百万个端点中的一个端点。 是吗?
  2. 套接字(在客户端)唯一地告诉我正在运行的应用程序以及互联网上数百万台设备上数十亿同时运行的应用程序中的哪台机器。 是吗?
  3. 谁是socket,程序员还是由底层操作系统隐式构建的?
  4. 创建套接字是什么意思?在服务器端和客户端都有。
  5. 根据以上关于创建套接字的含义的问题,创建套接字意味着建立客户端和服务器之间的连接,
    如果是,谁建立连接,OS?
    IF NO ,然后再建立连接谁连接这两个套接字?
  6. 具有一个特定套接字的单个服务器如何同时处理来自客户端的多个请求?

1 个答案:

答案 0 :(得分:1)

  
      
  1. 套接字只是互联网上数百万个端点中的一个端点。真?
  2.   

假。 “互联网终端”毫无意义。套接字是连接的端点,可能与Internet无关。套接字也可以不连接。

  
      
  1. 套接字(在客户端)唯一地告诉我正在运行的应用程序以及互联网上数百万台设备上数十亿同时运行的应用程序中的哪台机器。真?
  2.   

假。套接字进程拥有,进程又在特定主机中运行。你基本上把它放回原位。

  
      
  1. 谁是socket,程序员还是由底层操作系统隐式构建的?
  2.   

都不是。 应用程序要求操作系统创建套接字。

  
      
  1. 创建套接字是什么意思?在服务器端和客户端都有。
  2.   

这意味着创建套接字。不清楚你在这里问什么,或者你期待什么样的答案。

  
      
  1. 根据以上关于创建套接字的含义的问题,创建套接字意味着在客户端和服务器之间建立连接,
  2.   

没有

  

如果是,谁建立连接,操作系统?

见上文。

  

如果不是,那么谁建立连接,谁连接这两个插座?

应用程序要求操作系统将套接字连接到目标IP地址和端口。

  
      
  1. 具有一个特定套接字的单个服务器如何同时处理来自客户端的多个请求?
  2.   

操作系统为每个接受的连接创建一个新套接字。