socket套接字作用 套接字socket包含哪些参数
一、什么是套接字(socket)?
句柄(handle):其实就是类似数据地址的东西(我一般翻译为门把儿~)套接字(Socket):套接(一根管子)字(传输数据)鲁棒性(Robustness):计算机健壮性使能(Enable):这个比较偏硬件了,实际就是给出0/1信号(英语一看就明白~)最后来个厉害的:冯诺依曼结构计算机(von Neumann Machine):就是我们平时见到的电脑啦233333(强答一波,尴尬吗?就是让你尴尬,哈哈哈哈)
二、套接字(socket)由主机的什么组成?
套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作 不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 套接字可以根据通信性质分类,这种性质对于用户是可见的。应用程序一般仅在同一类的套接字间进行通信。不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信。套接字有两种不同的类型:流套接字和数据报套接字。
三、Socket套接字,名字是如何得来的,应该怎么理解?
socket 按字面是插座, 眼窝,牙糟,穴,孔 等意思。
网络编程里用这个词,把它引申为“网络接口”。为何翻译成“套接字”不得而知。“套”“接”尚可理解。“字”字何来! 也许是网络接口编程要用到网络协议protoco.签定的协议是一种“字据”, socket 编程 也许就成了 套接protoco 编程, 套接字编程了。四、socket作用?
socket 用来写网络通讯程序的,简单来说在远程机器,和本地机器各建一个socket,然后进行连接通讯即可。 QQ什么的都网络通讯都是采用socket来写的。有兴趣的话看看网络编程(非Web网络编程)方面的书
五、什么是套接字,说明套接字的概念?
套接字(socket)一组进程间交换数据的协议,侧重于函数的定义形式,而不是具体的实现方式或者数据格式,主要是为了让C的代码可以在不同的系统上保持源代码级的兼容性。
最初用在Unix系统中。套接字也有很多不同的实现版本,稍有差异,不过对于我们在windows平台上工作的人来说,Unix各种平台间的差异我们并不关心。
我们现在经常把套接字用于网络通讯编程,并且通常构造在Tcp/IP协议上。
在windows系统上套接字还可以使用其他协议比如IPX,甚至你可以实现一个扩展通过磁盘文件在进程间交换数据。
微软,把套接字作了进一步的扩展,主要是做了异步套接字的扩展,以便更好的利用Windows的特性。
六、什么是套接字?
socket应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。
多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。
区分不同应用程序进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。
Socket原意是“插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
七、trailer socket什么作用?
1.增添了一条操作系统与外界通信的额外通道
试想下,怎么在协议不支持的情况下从A设备处获得B设备的系统时间?
在B设备向A设备发数据时(任何协议),把自己的系统时间写到附加数据中,A使用链路层套接字(比如tcpdump使用的套接字)获取链路层数据就可以对
附加数据做解析。
2.控制上层应用程序的行为
应用程序的行为被收到的报文所影响,应用程序收报文的大致流程如下:
网卡收到报文->内核处理->TCP/IP协议栈处理->上层应用
可见内核处理可以对报文进行篡改(例如iptables的mangle),来”欺骗“应用程序。
例如上层应用只对特定ip进行服务,比如1.1.1.1,如果是来自2.2.2.2的请求会被拒绝掉,不改变上层应用
行为的前提下,可以在内核处对报文进行修改,把2.2.2.2修改为1.1.1.1(当然,应用程序发包时内核也要把1.1.1.1修改为2.2.2.2)
而附加数据的作用是为这种报文修改提供策略或依据。
八、qt怎么关闭套接字?
qt取消套件模式,将套接字文件取消
九、tcp套接字是什么?
在OSI/RM的传输层服务时,传输通信两端的端点就是TSAP地址,对应的就是传输层协议端口。在TCP/IP网络中,同样有端点的概念,但它不是采用OSI/RM中的TSAP叫法,而是称为“套接字(Socket)”,就像在TCP中仍然把所传输的数据称为“数据段”,而没有采用OSI/RM中的TPDU叫法一样。
当然,需要说明的是,Socket并不能直接等于TSAP,它们只是类似,实际上Socket只是利用了TSAP地址,因为在它所包括的一组参数中就有TSAP地址——端口。“套接字”最早使用与UNIX操作系统,后来被广泛地应用于Windows和Linux系统中,成为事实上的TCP标准。
十、list怎么保存套接字?
我看很多网络聊天室的服务器程序,在重载的CSocket的:OnAccept(int nErrorCode) 函数中,会用一个定义为
CPtrList connectList来保存客户端的套接字,代码如下:
void CServerSocket::OnAccept(int nErrorCode) //接受客户端登陆请求
{
CClientSocket *clientSocket = new CClientSocket(&connectList);
Accept(*clientSocket);
.............
connectList.AddTail(clientSocket);