<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 11">
<meta name="Originator" content="Microsoft Word 11">
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CJACKY_%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">
<link rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CJACKY_%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1028"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
WinSock API 常用函数
WinSocks提供了许多嵌接字函数,他们并不代表协议的某一个层次,其实质就是一组网络编程接口,用户利用这些函数就能很容易地进行编程了。
1 accept函数
语法
<!--[if gte vml 1]><v:shapetype id="_x0000_t202"
coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter"/>
<v:path gradientshapeok="t" o:connecttype="rect"/>
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t202" style='position:absolute;
left:0;text-align:left;margin-left:0;margin-top:31.2pt;width:414pt;height:93.6pt;
z-index:1;mso-position-horizontal-relative:text;
mso-position-vertical-relative:text' fillcolor="silver">
<v:textbox style='mso-next-textbox:#_x0000_s1026'>
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal><span lang=EN-US>SOCKET accept(</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-spacerun:yes'>
</span>SOCKRT s,</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-spacerun:yes'>
</span>Strucct sockaddr FAR* addr,</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-spacerun:yes'>
</span>int FAR* addrlen</span></p>
<p class=MsoNormal><span lang=EN-US>);</span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
<w:wrap type="square"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
s:是一个套接字,它应处于监听状态
addr: 是一个sockaddr_in结构指针,包含一株客户端的端口号、IP地址等信息
addrlen:用于接手参数addr的长度。
返回值:一个新的嵌接字,它对应于已经接受的客户端连接,对于该客户端的所有后续操作,都应使用这个新的套接字。
2 bind函数
语法
<!--[if gte vml 1]><v:shape
id="_x0000_s1027" type="#_x0000_t202" style='position:absolute;left:0;
text-align:left;margin-left:0;margin-top:30.15pt;width:414pt;height:84.75pt;
text-indent:0;z-index:2;mso-position-horizontal:absolute;
mso-position-horizontal-relative:text;mso-position-vertical:absolute;
mso-position-vertical-relative:text' fillcolor="silver">
<v:textbox>
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal><span lang=EN-US>int bind</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-spacerun:yes'>
</span><span style='mso-spacerun:yes'></span>SOCKET s,</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-spacerun:yes'>
</span>Const struct sockaddr FAR* name,</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-spacerun:yes'>
</span>Int namelen</span></p>
<p class=MsoNormal><span lang=EN-US>);</span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
<w:wrap type="square"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
s: 是一个套接字。
name: 是一个sockaddr结构指针,该结构中包含了要结合的地址和端口号。
namelen:确定name缓冲区的长度。
返回值:如果函数执行成功,返回值为0,否则为SOCKET_ERROR。
在定义一个套接字后,需要调用bind函数为其指定本机地址、协议和端口号。
分享到:
相关推荐
### Winsock API 基本函数详解 #### 一、概述 Winsock API(Windows Socket Application Programming Interface)是微软为Windows平台开发的一组用于网络通信的API集合。它基于BSD sockets API进行了扩展,并且提供...
本章主要介绍Winsock API中的一些核心函数,包括字节排序、IP地址转换、网络信息获取、套接字选项设置、I/O操作、事件对象管理以及错误处理等关键功能。 8.1 字节排序函数 字节排序函数主要用于解决不同计算机平台...
Winsock API 1.1版本是较为常用的一个版本,它提供了两个主要的编程模型:阻塞模式和非阻塞模式。阻塞模式下,一个函数调用会直到操作完成才返回。非阻塞模式允许应用程序同时执行其他操作,但编程复杂度较高。 在...
- **wsock32.lib**:这是Winsock API的链接库文件,必须将它添加到项目的链接器设置中,以便能够正确地链接到Winsock的API函数。 - **winsock.h**:这是一个头文件,包含了Winsock API的所有声明,需要在程序的开头...
### Windows API常用函数使用说明 #### 一、概述 Windows API(Application Programming Interface)是微软提供的应用程序编程接口,用于开发Windows平台的应用程序。它提供了一系列的功能函数,允许开发者访问...
9. **网络通信**:虽然PB自身不直接支持网络编程,但可以通过API函数如`Winsock`控件来实现TCP/IP通信,进行客户端-服务器的网络应用开发。 10. **调试和性能优化**:`Trace()`和`TraceOn()`等函数用于调试,而`...
本文将详细介绍一些常用的Windows API函数,帮助开发者快速理解和应用。 首先,我们来看消息相关的API函数: 1. **BroadcastSystemMessage**:这个函数用于将一条系统消息发送到系统中的所有顶级窗口。这在需要...
Winsock支持多种网络协议,但最常用的是TCP/IP协议,提供了传输控制协议(TCP)和用户数据报协议(UDP)两种主要的通信方式。 **3. 使用WINSOCK API编程** 在VC++环境中,WINSOCK API编程涉及以下步骤: - **包含...
《VB API函数使用手册》是一份详尽的资源,涵盖了大约774个Windows API函数,这些函数被精心地划分为十二大类别,旨在为VB(Visual Basic)开发者提供全面的函数参考。API(Application Programming Interface)是...
Windows API(应用程序编程接口)是微软为开发者提供的一组接口函数,用于构建在Windows操作...通过阅读如"VC__API函数分类大全.doc"、"C#常用函数列表.doc"等文档,可以深入理解每个函数的用途和用法,提升编程能力。
4. **内存管理**:`VirtualAlloc`和`VirtualFree`用于动态分配和释放内存,`GlobalAlloc`和`LocalAlloc`则是早期Windows程序常用的内存分配函数。了解内存管理函数可以帮助避免内存泄漏和提高程序效率。 5. **文件...
《Windows API常用技巧汇编》是一本专注于Windows操作系统编程技术的资源集合,它可能包含了光盘形式的视频讲座,旨在帮助开发者深入理解和掌握Windows API的使用。Windows API是微软为开发者提供的一个接口,通过...
6. **网络通信**:Windows API也支持网络编程,如`WSAStartup`初始化Winsock,`socket`创建套接字,`bind`绑定套接字到本地地址,`connect`或`accept`用于连接和接受连接,`send`和`recv`发送和接收数据。...
VB6.0使用WinSock API点对点聊天程序实例,VB聊天源码,API.bas中有大家常用的网络聊天API,比如清理内存中一些东西、定义一个连接(正确的叫法是:套接字)、关闭套接字、把端口和套接字绑定在一起、监听,如果你写...
在这个“SDK常用API函数库”中,我们重点关注的是VC(Visual C++)环境下使用的API函数库。VC SDK为Windows平台上的C++开发者提供了丰富的功能,涵盖了系统调用、图形绘制、网络通信等多个方面。 首先,API...
网络编程中,Winsock库提供了大量的API函数,如socket用于创建套接字,bind将套接字与IP地址和端口绑定,connect实现客户端连接到服务器,listen和accept处理服务器端的连接请求。send和recv函数用于发送和接收数据...
9. **网络编程**:Windows API提供了Winsock库,包含套接字编程所需的功能,如socket、bind、listen、accept和send等,可用于创建网络通信应用。 10. **错误处理**:所有API调用都有可能失败,GetLastError和...
在Winsock中,我们需要先调用`WSAStartup`函数初始化Winsock库,然后创建一个套接字,使用`connect`函数与服务器建立连接。接着,客户端可以使用`send`函数发送数据,而`recv`函数用于接收服务器返回的信息。当通信...