
[二星珠]windows网络编程技术
haiheng
这个作者很懒,什么都没留下…
展开
-
accept(sListen, (struct sockaddr *)&client,&iAddrSize);//侦听中
iAddrSize = sizeof(client); /* *等待客户端连接 */ sClient = accept(sListen, (struct sockaddr *)&client,//阻塞在这里 &iAddrSize); if (sClient == INVALID_SOCKET)原创 2004-10-28 11:12:00 · 2426 阅读 · 0 评论 -
MUP "多 UNC提供者"( Multiple UNC Provider, MUP)资源定位符
MUP "多 UNC提供者"( Multiple UNC Provider, MUP)资源定位符MUP的基本任务便是决定具体由哪个网络提供者来满足一个 UNC请求。 为作出这个决定,MUP需将请求中提到的 UNC名字(以并行方式)发给已经安装好的每一个提供者(如:“ Microsoft网络用户”)。若某个网络提供者表明自己能够提供 UNC名字牵涉到的那一种服务, MUP便会将请求中剩余的部原创 2005-01-21 16:18:00 · 2023 阅读 · 1 评论 -
UNC“通用命名规范”(Universal Naming Convention, UNC )
UNC名字://Myserver/Myshare/Sample.mp3使用 UNC名字,系统便可非常轻松地定位网络服务器共享目录以及文件路径。网络通信的所有细节都是由网络提供者的“重定向器”来负责控制的,原创 2005-01-21 15:59:00 · 3348 阅读 · 3 评论 -
重定向器
应用程序若指出自己需要使用 E:时,操作系统便会将 I/O请求自动重定向至一个设备,那个设备叫作“重定向器”(Redirector)。重定向器会建立到远程计算机的一个网络信道,以便访问指定的远程目录。随后,应用程序可自由使用一些常规的文件系统 API函数,比如ReadFile(读文件)和WriteFile(写文件)等。虽然实际是通过网络访问的,但表面上却与访问本地文件无异。原创 2005-01-21 15:54:00 · 1197 阅读 · 0 评论 -
OSI网络模型
层 描述应用层 为用户提供相应的界面,以便使用提供的连网功能表示层 完成数据的格式化会话层 控制两个主机间的通信链路(开放、操作和关闭)传输层 提供数据传输服务(可靠或不可靠)网络层 在两个主机之间提原创 2005-01-20 16:40:00 · 1463 阅读 · 0 评论 -
LANA编号
每个LANA编号对应于网卡及传输协议的唯一组合。例如,假定某工作站安装了两张网卡,以及两种具有 NetBIOS能力的传输协议(如 TCP/IP和NetBEUI),那么总共就有四个 LANA编号。下面是一种对应关系的例子:0. TCP/IP—网卡11. NetBEUI—网卡12. TCP/IP—网卡23. NetBEUI—网卡2原创 2005-01-20 17:41:00 · 2499 阅读 · 1 评论 -
NetBIOS接口
NetBIOS接口,它和Winsock类似,也是一种与协议无关的网络 API。注意 Windows CE并不支持NetBIOS API,只是用TCP/IP作为其传送协议,并同时支持NetBIOS的名字与名字解析。Microsoft TCP/IP和NetBEUI在默认情况下已提供了一个 NetBIOS接口微软网络中的机器名采用的便是NetBIOS名字。机器启动时,会将自己的名字注册到本地的“ W原创 2005-01-20 16:28:00 · 1437 阅读 · 0 评论 -
逐段注释--最简单,最方便,最快速,最实用,最高效,最清晰,最直接,最好的调试方法
原创 2004-12-15 11:44:00 · 2029 阅读 · 7 评论 -
CreateThread(NULL, 0, ClientThread, (LPVOID)sClient, 0, &dwThreadId);//每个客户端创建一个接收线程
/* *每个客户端创建一个接收线程 */ hThread = CreateThread(NULL, 0, ClientThread, (LPVOID)sClient, 0, &dwThreadId); if (hThread == NULL) { printf("CreateThread()原创 2004-10-28 11:11:00 · 3427 阅读 · 0 评论 -
(bind(sListen, (struct sockaddr *)&local, sizeof(local))//把socket与IP和端口
struct sockaddr_in local, local.sin_addr.s_addr = htonl(INADDR_ANY); local.sin_family = AF_INET //设置本地接收IP为本机IP iPort = 8000; //设置本地接收端口为8000 local.sin_port = htons(iPort); if (bind(sL原创 2004-10-28 10:59:00 · 2648 阅读 · 0 评论 -
socket(AF_INET, SOCK_STREAM, IPPROTO_IP);//创建TCPsocket
/* *创建TCPsocket */SOCKET sListen, sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); if (sListen == SOCKET_ERROR) { printf("socket() failed: %d/n", WSAGetLastError()); r原创 2004-10-28 10:56:00 · 11389 阅读 · 0 评论 -
WSAStartup(MAKEWORD(2,2), &wsd) //导入socket2.0库
/* *导入socket2.0库 */ WSADATA wsd; if (WSAStartup(MAKEWORD(2,2), &wsd) != 0) { printf("Failed to load Winsock!/n"); return 1; }WSACleanup();原创 2004-10-28 10:54:00 · 7242 阅读 · 1 评论 -
通过一个网络打开 //Myserver/Myshare/Sample.mp3,各组件的通信情况
1) 使用 CreateFile这个 API函数,应用程序向本地操作系统提交一个请求,要求打开//Myserver/Myshare/Sample.mp3。2) 根据从 UNC路径描述中获得的信息,本地(本机)操作系统的文件系统判断出该 I/O(输入/输出)请求的目的地是一台远程机器,名为 //Myserver,所以将此请求传递给 MUP。3) MUP调查出该I/O请求发给的是一个 MSNP提供原创 2005-01-21 16:36:00 · 1671 阅读 · 0 评论