listen()只是对端口的同时最大连接数做一个限制,而且只有socket()创建socket描述符时type为SOCK_STREAM,即创建有链接通信时才能用到。
比如listen(sock_fd,100)即是限定同时来连接的数量不能超过101有一个可以马上处理,100个放入某个队列,等待处理。超过的连接请求会收到一个连接错误的返回。
物理层:HUB,网线
链路层:MAC,ARP,交换机
网络层:IP,ICMP,IGMP,路由器
传输层:TCP,UDP
会话层:HTTP,SMTP,FTP,POP3
表示层:SOAP,SSL
应用层:WebService的Method
-------------------------------
Socket是对网络层 *** 作
TcpClient是对传输层 *** 作
ASPNET是对会话层 *** 作
-------------------------------
TcpClient是Socket的基础上的封装。一般的应用,用TcpClient可以了,或者使用NetStream,如果要做点高级的事情,建议用Socket做。
Winsocket是windows socket的简写,是指Windows下网络编程的规范。
Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。从1991年的10版到1995年的208版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Windows网络编程的事实上的标准。
Windows Sockets规范以UC Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套microsoft Windows下网络编程接口。
扩展资料:
Windows Sockets模型中,把所有比较靠下面的层次称为网络系统,把靠上面的层次称为WinSock应用程序,而WinSock的应用编程接口(API)位于两者之间。
动态链接库(DLL)是windows的重要特性,动态链接库是带有定义明确的接口的可执行过程的库,就像其名称所提示的那样,应用程序是在运行时动态链接这些库的,而不是在编译时静态链接。
-windows socket
发消息这样的要看具体应用和使用的协议,最简单的情况下,只建立一个socket,好比是拨通一通电话理,A这边说了2句话。B说了3句话,但都还是在这一个socket通道上。
服务端引入线程是为了同一时间可以处理多个客户端请求,一般服务端每接受到一个socket连接就要新建一个线程(或是从
线程池
中取一个空闲进程。)
客户端引入线程一般就是让用户不用在那死等,比如发送一个100M的数据,如果直接在界面线程里面 *** 作socket,那么在发送完成之前界面都是处于假死状态的。这时需要把发送单独放一个线程里面,界面线程定期来查询发送的状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)