Socket接口是TCP/IP网络的API

问题描述:

Socket接口是TCP/IP网络的API
其中的SOCKET指什么 是可编程的硬件接口 还是一种纯粹的通信协议式的数据传输机制?
也就是基于TCP/IP基础上的?要做到与下位机的通信 需要先了解服务器 IP分配这类的东东么 需要有操作系统的服务器的么?
1个回答 分类:综合 2014-10-04

问题解答:

我来补答
不需要有IP分配的知识,服务器需要有操作系统
windows socket Windows Sockets 规范以U.C.Berkeley 大学BSD UNIX 中流行的Socket 接口为范例定义了一套microsoft Windows 下网络编程接口.它不仅包含了人们所熟悉的Berkeley Socket 风格的库函数;也包含了一组针对Windows 的扩展库函数,以使程序员能充分地利用Windows 消息驱动机制进行编程.
Windows Sockets 规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守.此外,在一个特定版本Windows 的基础上,Windows Sockets 也定义了一个二进制接口(ABI),以此来保证应用WindowsSockets API 的应用程序能够在任何网络软件供应商的符合Windows Sockets 协议的实现上工作.因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义.
遵守这套Windows Sockets 规范的网络软件,我们称之为Windows Sockets兼容的,而Windows Sockets 兼容实现的提供者,我们称之为Windows Sockets提供者.一个网络软件供应商必须百分之百地实现Windows Sockets 规范才能做到现Windows Sockets 兼容.
任何能够与Windows Sockets 兼容实现协同工作的应用程序就被认为是具有Windows Sockets 接口.我们称这种应用程序为Windows Sockets 应用程序.
Windows Sockets 规范定义并记录了如何使用API 与Internet 协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets 实现都支持流套接口和数据报套接口.
SOCKET用于在两个基于TCP/IP协议的应用程序之间相互通信.最早出现在UNIX系统中,是UNIX系统主要的信息传递方式.在WINDOWS系统中,SOCKET称为WINSOCK.
两个基本概念:客户方和服务方.当两个应用之间需要采用SOCKET通信时,首先需要在两个应用之间(可能位于同一台机器,也可能位于不同的机器)建立SOCKET连接,发起呼叫连接请求的一方为客户方,接受呼叫连接请求的一方成为服务方.客户方和服务方是相对的,同一个应用可以是客户方,也可以是服务方.
在客户方呼叫连接请求之前,它必须知道服务方在哪里.所以需要知道服务方所在机器的IP地址或机器名称,如果客户方和服务方事前有一个约定就好了,这个约定就是PORT(端口号).也就是说,客户方可以通过服务方所在机器的IP地址或机器名称和端口号唯一的确定方式来呼叫服务方.在客户方呼叫之前,服务方必须处于侦听状态,侦听是否有客户要求建立连接.一旦接到连接请求,服务方可以根据情况建立或拒绝连接.连接方式有两种,同步方式(Blocking)和(noBlocking).
客户方发送的消息可以是文本,也可以是二进制信息流.当客户方的消息到达服务方端口时,会自动触发一个事件(event),服务方只要接管该事件,就可以接受来自客户方的消息了.
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识