当前位置:  技术问答>linux和unix

(菜鸟飞飞) accept后创建的socket描述符问题

    来源: 互联网  发布时间:2016-09-07

    本文导语:  个人理解哈: 在socket创建并bind之后,socket就已经于一个端口80进行绑定了。 那么在accept之后,又创建了一个socket连接。此时依旧与80绑定。我现在的问题是: 一个端口只能对应于一个程序。那么accept之后创建的socket...

个人理解哈:
在socket创建并bind之后,socket就已经于一个端口80进行绑定了。
那么在accept之后,又创建了一个socket连接。此时依旧与80绑定。我现在的问题是:
一个端口只能对应于一个程序。那么accept之后创建的socket连接和我们此时运行的socket程序是什么关系呢?线程和进程的关系么?

不对之处。请重拍!!

|
bind的两种英文解释:

SYSV:
       The bind subroutine assigns a Name parameter to an unnamed socket.
       Sockets created by the socket subroutine are unnamed; they are
       identified only by their address family. Subroutines that connect
       sockets either assign names or use unnamed sockets.
BSD:
     The bind() system call assigns the local protocol address to a socket.
     When a socket is created with socket(2) it exists in an address family
     space but has no protocol address assigned.  The bind() system call
     requests that addr be assigned to the socket.

一个TCP连接,使用一对(endpoint)端点 (local_addr:local_port, remote_addr:remote_port)来标识的。
bind并listen只是一个半开连接,通常为:*:local_port


bind实际上是给socket指定一个本地地址,或者成为名字,之后listen之后才建立一个半开连接。楼主可以用
netstat查看一下,bind之后是什么也看不到的。只有listen后才能看到类似:
tcp4       0      0  *.80                 *.*                    LISTEN
状态的输出。
bind之后,可以listen,也可以connnect

|
好像是接受连接之后系统会给分配个端口还是套接字什么的,之后进行数据交换用的就是系统分配的这东西。至于你所说的线程,进程什么的,那得看你是创建的线程还是进程去处理数据。

|
一个是监听套接口,一个是连接套接口

监听套接口的端口一般是众所周知的保留端口,连接套接口一般是临时端口

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ----菜菜鸟第三问:-菜鸟菜问:JAVA如何求 根号、开次方? -----
  • 菜鸟问一个关于j2ee的菜鸟问题
  • 怎样从一个菜鸟级的java programer升级到一个菜鸟级的java developer
  • 一个连菜鸟都算不上的菜鸟
  • 菜鸟求问菜鸟问题 ,域名绑定
  • ===菜鸟系列===:写过毕业论文的前辈请进!!!菜鸟散分啦!!!!
  • gcc问题---菜鸟发问之一,老大们帮忙啊!!菜鸟分不多,只好给这点了,对不起!!
  • 菜鸟又来问菜鸟问题了
  • 菜鸟的Linux练习疑问……
  • 菜鸟刚学jsp,还不知道怎么和sql server2000的数据库相连,我已经把odbc配好了,谁能给我一段和数据库相连的并显示所有数据的代码!菜鸟
  • 菜鸟提问,我怎么装redhat7。1
  • 菜鸟写的俄罗斯方块,请多多批评!
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 一个菜鸟的请求: 哪位前辈能给晚辈讲讲“匿名类”
  • ※菜鸟送分之一※ Red Hat Linux 的最高版本是多少?
  • 菜鸟问题:在Java中如何接收从键盘输入的字符串?
  • ★菜鸟问:怎么在RED HAT LINUX7.2中用169上网??
  • 菜鸟提问:包是什么概念?
  • 菜鸟问题~~快点进来拿分
  • 菜鸟菜问题1


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3