网络函数

网络函数
网络函数

网络的一些基本函数

WSA是windows socket API简称

1 在delphi用这些API时,应先先明

WSAStartup();//初始

WSACleanup;//注销

后面介绍一些简单函数的使用

我也是学了再写,说错的地方指明,这既是自己的笔记

也是大家的参考

2、socket函数

用于生成socket(soket Descriptor)

[声明]

SOCKET socket(int af,int type,int protocol);

[参数]

af - 地址家族(通常使用:AF_INET)

type - socket的种类

SOCK_STREAM : 用于TCP协议

SOCK_DGRAM : 用于UDP协议

protocol - 所使用的协议

[返回值]

当函数成功调用时返回一个新的SOCKET(Socket Descriptor)

失败时返回INVALID_SOCKET.

3、inet_addr函数

把好象"xxx.xxx.xxx.xxx"的10进制的IP地址转换为32位整数表示方法[声明]

unsigned long inet_addr ( const char FAR *cp );

[参数]

cp - 指向用"xxx.xxx.xxx.xxx"的10进制来表示的IP地址字符串的指针[返回值]

当函数成功调用时返回用32位整数表示的IP地址(按网络字节排列顺序) 失败时返回INADDR_NONE.

4、gethostbyname函数

可以从主机名获取主机资料.

[声明]

struct hostent FAR * gethostbyname ( const char FAR *name );

[参数]

name - 指向主机名字符串的指针

[返回值]

当函数成功调用时返回主机信息

失败时返回NULL(空值)

5、Bind函数

指定本地IP地址所使用的端口号时候使用

[声明]

int bind ( SOCKET s , const struct sockaddr FAR *addr , int namelen );

[参数]

s - 指向用Socket函数生成的Socket Descriptor

addr - 指向Socket地址的指针

namelen - 该地址的长度.

[返回值]

当函数成功调用时返回0

调用失败时返回SOCKET_ERROR

6、connect函数

用于与服务器建立连接,发出连接请求,必须在参数中指定服务器的IP地址和端口号

[声明]

int connect (SOCKET s , const struct sockaddr FAR *name , int namelen );

[参数]

s - 指向用Socket函数生成的Socket Descriptor

name - 指向服务器地址的指针

namelen - 该地址的长度.

[返回值]

当函数成功调用时返回0

调用失败时返回SOCKET_ERROR

7、select函数

可以用于调查一个或多个SOCKET的状态.

[声明]

int select ( int nfds , fd_set FAR *readfds , fd_set FAR *writefds , fd_set FAR *exceptfds , const struct timeval FAR *timeout );

[参数]

nfds - 在WINDOWS SOCKET API 中该参数可以忽略,通常赋予NILL值

readfds - 由于接受的SOCKET设备的指针

writefds - 用于发送数据的SOCKET设备的指针

exceptfds - 检查错误的状态

timeout - 超时设定

[返回值]

返回大于0的值时,表示与条件相符的SOCKET数

返回0表示超时

失败时返回SOCKET_ERROR

8、recv函数

利用Socket进行接受数据.

[声明]

int recv ( SOCKET s , char FAR *buf , int len , int flags );

[参数]

s - 指向用Socket函数生成的Socket Descriptor

buf - 接受数据的缓冲区(数组)的指针

len - 缓冲区的大小

flag - 调用方式(MSG_PEEK 或MSG_OOB)

[返回值]

成功时返回收到的字节数.

如果连接被中断则返回0

失败时返回SOCKET_ERROR

9、sendto函数

利用Socket进行发送数据.

[声明]

int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token ); [参数]

s - 指向用Socket函数生成的Socket Descriptor

buf - 接受数据的缓冲区(数组)的指针

len - 缓冲区的大小

flag - 调用方式(MSG_DONTROUTE , MSG_OOB)

to - 指向发送方SOCKET地址的指针

token - 发送方SOCKET地址的大小

[返回值]

成功时返回已经发送的字节数.

失败时返回SOCKET_ERROR

第六章Socket函数说明

库函数综述6.1

6.1.1 套接字函数

表6.1 Windows Sockets 1.1版本的Berkeley Sockets函数

* = 如果作用于阻塞套接字上,此例程可用阻塞。

这些函数根据功能的不同可以分为如下几类:

(1) 套接字函数。此类函数包括sockets(),bind(),getpeername(),getsockname()和closesocket(),它们主要完成创建,关闭套接字功能,以及对套接字命名与名字获取。

(2) 网络连接函数。此类函数包括listen(),accept(),connect()和shutdown(),它们完成网络连接(如虚电路)的建立与关闭。此类函数中有部分可阻塞。

(3) 数据传输函数。此类函数包括send(),recv(),sendto()和recvfrom(),它们完成网络数据的发送与接收,全部是可以阻塞的函数。

(4) 字节定序函数。此类函数包括htonl(),htons(),ntohl()和ntohs(),它们完成主机和网络之间数据字节顺序的转换。

(5) 地址转换函数。此类函数包括inet_addr(),inet_ntoa(),它们完成网络字符串地址和Internet地址之间的转换。

(6) 套接字控制函数。此类函数包括getsockopt(),setsockopt(),ioctlsocket()和select(),它们设置/获取套接字的选项,控制/检测套接字的工作状态。其中select()函数在必要时可能阻塞。

只使用了上述函数的Berkeley Sockets源程序基本上可以不加修改地移植到Windows Sockets环境中来。但是,移植过来的程序有一个最大的问题是“阻塞”。在Berkeley Sockets中,套接字默认的工作模式是操作处于阻塞方式,一个阻塞操作可能阻塞整个Windows环境。在非抢先Windows环境,强烈推荐程序员使用非阻塞(异步)操作,也就是说,推荐使用Windows Sockets提供的异步选择函数代替可能阻塞的select()函数,并且用网络事件消息来驱动可能阻塞的网络连接函数(accept()和connect())和数据传输函数,这样设计的程序能更好地工作。

5.1.2 数据库函数

Windows Sockets定义了如表6.2所示的“数据库”函数:

表6.2 Windows Sockets 1.1版本定义的“数据库”函数

* = 在某些条件下此例程可能阻塞。

提供这类函数是为了获取网络特定的信息,在最初的Berkeley版本中,它们是作为在文本数据库文件中寻找信息的机构。在Windows Sockets实现中,可能使用了不依赖于本地数据库文件的方法(如域名服务),但是对应用程序来说请求这些信息的格式是一致的,并且对应用程序来说是透明的。

调用这些例程所获得的信息存放在由Windows Sockets实现分配的一个结构中,函数返回此结构的地址。因此,应用程序可以通过此结构指针获取所需要的信息,但它决不能试图修改此结构,更不能释放结构的任一部分。另外,对一个线程来说,Windows Sockets实现只分配了结构的一个备份,任何Windows Sockets API调用都可能修改此结构。也就是说,结构指针指向的数据只在此线程的下一次Windows Sockets API调用之前才是正确的,应用程序应该在发布任何其它Windows Sockets API调用之前将任何需要的信息拷贝出来。

数据库函数除了gethostname()之外都是阻塞的,Windows Sockets提供它们是为了Berkeley Sockets网络程序的可移植性。在设计实现Windows Sockets 应用程序时,推荐使用Windows Sockets提供的数据库函数的异步版本(见下节)。

6.2 标准Socket函数

6.2.1 accept()

语法: SOCKET WSAAPI

accept (

IN SOCKET s,

OUT struct sockaddr FAR* addr,

OUT int FAR* addrlen

);

此函数用于从套接字上接收一个连接。它提取挂在套接字s 上的连接队列中的第一个连接,创建一个和s有相同属性(包括使用函数WSAAsyncSelect()或WSAEventSelect()注册的异步事件,但不包括监听套接字的套接字组ID)的新数据套接字,并返回一个指向新套接字的句柄。如果连接队列上没有等待的连接,并且套接字没有标志为非阻塞,那么accept()阻塞调用直到出现一个连接。如果套接字标志为非阻塞,并且队列上没有等待的连接,那么accept()返回错误WSAEWOULDBLOCK。新创建的数据套接字不能用来接收更多的连接,它只能用于数据传输;原来的套接字仍然打开,处于监听连接状态。

参数描述

s 这是一个套接字描述符,该套接字在用作accept()函数的参数前必须先调用过listen()函数,此时它正处于监听连接的状态。

addr 一个可选的指向缓冲区的指针,用来接收连接实体的地址,在通讯层使用。addr的确切格式由套接字创建时建立的地址族决定。addrlen 一个可选的指向整数的指针,它调用时含有地址addr指向的空间的大小,返回时含有返回的地址的确切长度(字节数)。

返回值:如果没有错误发生,accept()返回一个SOCKET类型的值,表示接收到的套接字的描述符。否则返回值INVALID_SOCKET,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必须

有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEFAULT 参数addrlen太小(小于结构sockaddr的大小),或参

数addr不是用户地址空间的合法部分。

WSAEINTR 此(阻塞)调用已被WSACancelBlockingCall()函数取消。WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。

WSAEINVAL 在accept()调用之前没有执行过listen()。

WSAEMFILE accept()队列入口空,但没有文件描述符可用。即打开的

文件描述符过多。

WSAENOBUFS 无缓冲区空间可用。

WSAENOTSOCK 描述符s不是套接字描述符。

WSAEOPNOTSUPP s指向的套接字不是一种支持面向连接服务类型的套接

字。

WSAEWOULDBLOCK 套接字标志为非阻塞,但现在没有接收到连接。

注释:该调用只能和基于连接的套接字类型如SOCK_STREAM一起使用。如果参数addr 和/或addrlen等于NULL,那么没有关于接收套接字的远程地址信息返回。

参见:bind(), connect(), listen(), select(), socket(), WSAAsyncSelect(), WSAAccept()。

6.2.2 bind()

语法: int WSAAPI

bind (

IN SOCKET s,

IN const struct sockaddr FAR* name,

IN int namelen

);

此函数用于未连接的数据报或流套接字,它将一本地地址与套接字连接,即建立半相关。当一套接字用socket()创建后,它存在于一名字空间(地址族), 但它没有赋予名字。bind()通过将一本地名字赋予一未命名的套接字, 建立起套接字的本地连接(主机地址/端口号)。

参数描述

s 指示未连接的数据报或流套接字的描述符。

name 赋给套接字的本地地址(名字)。结构sockaddr定义如下:

struct sockaddr {

u_short sa_family;

char sa_data[14];

};

除 sa_family外,其它内容都以网络字节顺序表示。namelen 地址缓冲区长度。

返回值:如果没有错误发生,bind()返回0。否则返回值SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必

须有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEADDRINUSE 指定的地址已经在使用(参见setsockopt()中的

SO_REUSEADDR套接字选项)。WSAEADDRNOTAVAIL 对于本机器来说,指定的地址是非法地址(WinSock 2)。

WSAEFAULT 参数namelen太小(小于结构sockaddr的长度);参数

name或namelen不是用户地址空间的合法部分;参数

name包含了相关的地址族来说是不正确的地址格式;参

数name指向的内存块的前两个字节与套接字描述符s相

关的地址族不匹配。

WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。WSAEAFNOSUPPORT 此套接字不能使用指定地址族中的地址(WinSock 1.1)。

WSAEINVAL 此套接字已经捆扎到了一个地址。

WSAENOBUFS 无缓冲区空间可用,连接太多。

WSAENOTSOCK 此描述符不是套接字描述符。

注释:在Internet地址族中,一个名字有几个部分。对于SOCK_DGRAM和SOCK_STREAM类型的套接字来说,名字分为三部分:主机地址,协议号(分别默认设置为UDP和TCP),以及一个标志应用程序的端口号。在WinSock 2中,参数name并不严格地解释为指向“sockaddr”结构的指针,但为了与Windows Sockets的兼容性仍用这种表示。服务提供者可以把它当作一个指向长度为namelen的内存块而自由处理,在此内存块的前两个字节(对应结构sockaddr 定义中的sa_family元素)必须为包含建立套接字的地址族,否则将产生错误WSAEFAULT。

如果应用程序不关心赋予它的地址,则可指定一个等于常数INADDR_ANY的网际地址,和/或等于0的端口。如果网际地址等于INADDR_ANY,任何合适的网络接口都可用,这就简化了在多宿主机上的应用程序设计。当一个服务器向几个网络提供服务时,这将变得很重要。在不指定地址的情况下,服务器可以接收发向其端口的所有UDP数据包和TCP连接请求,而不必关心请求是从哪一个网络接口到达的。如果端口指定为0,Windows Sockets实现将为应用程序指定一界于1024和5000之间的端口值。应用程序可在bind()后使用getsockname()来得到赋给它的地址,但要注意的是,对于网际地址等于INADDR_ANY的情况,getsockname()只有当套接字连接后才填入网际地址(Internet address),原因是当主机是多地址家族时,几个网际地址都是合法的。对客户应用程序来说,不鼓励将其绑扎到一个指定的端口,因为这样存在与已经使用了该端口的其它套接字冲突的危险。

由于Windows Sockets只支持AF_INET地址域,因此名字缓冲区的格式只能是sockaddr_in结构。此结构在winsock.h中定义如下:

struct in_addr

{

u_long s_addr;

};

struct sockaddr_in

{

u_char sin_len;

u_char sin_family;

u_short sin_port;

struct in_addr sin_addr;

char sin_zero[8];

};

· sin_family字段只能置为AF_INET。

· sin_port字段为应用程序必须连接的端口号。

· sin_addr字段为主机网际地址。

· sin_zero字段未用,留待以后扩充,必须全置为0。

注意,此结构的任何字段均为网络字节顺序。

在WinSock 2,支持的地址族得到扩展,因此结构sockaddr不只解释为sockaddr_in,根据不同的地址族,它有不同的确切格式。

参见:WSACancelBlockingCall(), connect(), listen(), getsockname(), setsockopt(), socket()。

6.2.3 closesocket()

语法: int WSAAPI

closesocket (

IN SOCKET s

);

此函数关闭套接字s,并释放分配给该套接字的资源,以后对s 的引用都将产生错误WSAENOTSOCK。如果s涉及一个打开的TCP连接,该连接被释放。

参数描述

s 待关闭的套接字描述符。

返回值:如果没有错误发生,closesocket()返回0。否则返回值SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必

须有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAENOTSOCK 此描述符不是套接字描述符。

WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。

WSAEINTR 此(阻塞)调用已被WSACancelBlockingCall()函数取

消。

WSAEWOULDBLOCK 套接字标志为非阻塞并且SO_LINGER设置为非零超时。

注释:closesocket()函数的语义受套接字选项SO_LINGER和SO_DONTLINGER的影响,具体见下表(默认情况下是允许SO_DONTLINGER):

选项间隔关闭类型等待关闭?

SO_DONTLINGER 不用Graceful No

SO_LINGER 零Hard No

SO_LINGER 非零Graceful Yes

如果SO_LINGER设置(例如,linger结构的l_onoff域非零)并且超时间隔为零(l_linger为零),那么即使队列数据尚未发送或确认,closesocket()函数也不会阻塞。这称作强制(“hard”或“abortive”)关闭,因为套接字的虚电路立即复位,任何未发送的数据都将丢失,并且在虚电路远程方的任何recv()调用都将以WSAECONNRESET失败。在这种情况下,套接字不进入TCP状态机的三次握手流程,系统资源被立即释放。这对于服务器应用程序非正常退出后希望能立即启动很有用,当正常通信中不鼓励使用。

如果SO_LINGER设置超时间隔为非零,closesocket()函数将阻塞,直到剩余的数据都发送完毕或直到超时退出,这称作“雅致”(graceful)关闭。注意如果套接字设置为非阻塞并且SO_LINGER设置为非零超时,调用closesocket()将失败,错误码为WSAEWOULDBLOCK。

如果SO_DONTLINGER设置在流套接字上(例如,linger结构的l_onoff域为零), closesocket()调用将立即返回。然而,排队等待传送的任何数据如果可能的话都将在该套接字关闭前发送出去,这也称作“雅致”关闭。注意在这些情况下,Windows Sockets实现可能会在任意时间内不释放套接字和其他资源, 这可能影响希望使用全部可用套接字的应用程序。如果应用程序要确保连接上的所有数据都被发送或接收到,则应该在调用closesocket()函数之前调用shutdown()函数。

下面给出closesocket()函数的小结:

?如果SO_DONTLINGER允许(默认设置),且不会出现错误

WSAEWOULDBLOCK──连接在后台“雅致”关闭;

?如果SO_LINGER允许并且超时间隔为0,则总是立即返回──连接被

重置或终止;

?如果SO_LINGER允许并且超时间隔非0:

──对于阻塞套接字,阻塞到所有数据发送完或超时间隔到时;

──对于非阻塞套接字,立即返回并且指示错误WSAEWOULDBLOCK。

参见:accept(), socket(), ioctisocket(),

setsockopt(),WSAAsyncSelect(),WSADuplicateSocket()。

6.2.4 connect()

语法: int WSAAPI

connect (

IN SOCKET s,

IN const struct sockaddr FAR* name,

IN int namelen

);

此函数用来与对等方建立一个连接。如果套接字s没有绑扎,则系统赋予本地相关一个唯一值,并且套接字被表示为已绑扎的。

参数描述

s 用来表示发出连接请求的套接字的描述符。

name 指向一个socket address结构的指针,该结构含有对等方的套接字

的地址。

namelen name指向的socket address结构的字节数。

返回值:如果没有错误发生,connect()返回0。否则返回值SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

对于阻塞套接字来说,返回值表示连接试图是否成功。

对于非阻塞套接字来说,连接试图不一定马上完成。当connect()返回SOCKET_ERROR,并且WSAGetLastError()返回WSAEWOULDBLOCK时,应用程序可以:

1.利用select()函数,通过检查套接字是否可写来判断连接请求是否完

成。

2.如果应用程序已使用WSAAsyncSelect()函数注册了对连接事件的兴趣,

则当连接操作完成时应用程序将收到FD _CONNECT通知(无论成功与

否)。

3.如果应用程序已使用WSAEventSelect()函数注册了对连接事件的兴趣,

则当连接操作完成时相应的事件对象将设置信号(无论成功与否)。

对于一个非阻塞套接字来说,在连接试图完成之前,任何对该套接字的connect()调用都将以错误码WSAEALREADY失败,在连接成功之后则返回错误码WSAEISCONN。由于Windows Sockets 1.1规范在定义当连接请求正在处理时调用connect()函数返回的错误值有二义性,其返回值对于不同的Windows Sockets 实现其值不同,因此不推荐应用程序采用多次调用connect()函数的方式来检测连接是否完成。如果应用程序员一定要这么做,为了确保程序的可靠运行,他们在处理错误码WSAEALREADY的同时,还必须准备处理WSAEINVAL和WSAEWOULDBLOCK错误码。

如果返回值指出连接试图失败(例如WSAECONNREFUSED,WSAENETUNREACH,WSAETIMEDOUT等),则应用程序可对该套接字再次调用connect()函数。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必

须有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEADDRINUSE 套接字的本地地址已被使用,并且该套接字没有使用

SO_REUSEADDR来设置允许地址重用。此错误经常发生

在函数bind()调用时,但当bind()函数使用通配地址

(包括ADDR_ANY)并且在connect()函数调用时需要

“提交”一个指定地址时,此错误能够延迟到

connect()函数。

WSAEINTR 阻塞的WinSock 1.1调用为WSACancelBlockingCall()

函数撤消。

WSAEINPROGRESS 一个阻塞的Windows Sockets 1.1操作正在进行。

WSAEALREADY 一个非阻塞的connect()调用已经在指定的套接字上进

行(WinSock 2)。

WSAEADDRNOTAVAIL 远程地址非法(如ADDR_ANY)。

WSAEAFNOSUPPORT 此套接字不能使用指定地址族中的地址。

WSAECONNREFUSED 连接请求被目的主机拒绝。

WSAEDESTADDRREQ 要求目标地址(WinSock 1.1)。

WSAEFAULT 参数name或namelen不是用户地址空间的合法部分;

参数namelen太小(小于结构sockaddr的长度);参

数name包含了相关的地址族来说是不正确的地址格

式。

WSAEINVAL 此套接字没有捆扎到一个地址,或套接字为监听套接

字,或者指定的目的地址与套接字从属的强制组不一

致。。

WSAEISCONN 此套接字已经建立了连接(只对面向连接的套接字有

效)。

WSAEMFILE 无文件描述符可用(WinSock 1.1)。

WSAENETUNREACH 此主机现在不能到达网络。

WSAENOBUFS 无缓冲区空间可用,此套接字不能被连接。

WSAENOTSOCK 此描述符不是套接字描述符。

WSAETIMEDOUT 连接请求超时,未能建立连接。

WSAEWOULDBLOCK 套接字处于非阻塞模式,并且连接不能立即完成,它并

不表明一个错误情况。

WSAEACCES 由于setsockopt()时未允许SO_BROADCAST,无法将一

个数据报套接字与一个广播地址连接。

注释:客户程序在流套接字上调用connect()函数来建立与服务器的连接,服务器必须有一个空闲的被动接口。否则,connect()函数将以错误码WSAECONNREFUSED失败。

对于流套接字(类型SOCK_STREAM),connect()函数用来初始化与参数name (套接字名字空间中的地址)指示的外部主机的活动连接。当connect()调用成功完成后,套接字就可以收发数据了。如果结构name的地址域全为0,则返回错误WSAEADDRNOTAVAIL。

流套接字只能调用connect()函数一次,多次调用将以错误码WSAEISCONN 失败。数据报套接字(类型SOCK_DGRAM)可以重复调用connect()函数来变换连接,它设置与数据报套接字数据传送的默认目标,供以后的send()/WSASend()和recv()/WSARecv()函数使用。数据报套接字可以通过连接一个无效地址,例如空地址(即全部字段清零)来结束连接。

对于无连接的套接字来说,name可以是任何合法的地址,包括广播地址。然而,要连接到一个广播地址,套接字必须使用setsockopt()函数的SO_BROADCAST 选项来允许广播,否则connect()函数将以错误码WSAEACCES失败。

对于处于阻塞模式的套接字s,connect()函数阻塞调用者,直到建立起连接或有错误被接收到。对于非阻塞套接字s,如果返回值是SOCKET_ERROR,并且错误码为WSAEWOULDBLOCK,那么应用程序可以使用select()函数来检查套接字s 是否可写来判定连接请求是否完成;如果应用程序使用了基于消息的WSAAsyncSelect()/WSAEventSelect()函数来指示感兴趣的连接事件,那么当连接操作完成后,应用程序将收到FD_CONNECT消息。

参见:accept(), bind(), getsockname(), socket(), select(), WSAAsyncSelect(), WSAConnect()。

6.2.5 getpeername()

语法: int WSAAPI

getpeername (

IN SOCKET s,

OUT struct sockaddr FAR* name,

IN OUT int FAR* namelen

);

此函数用来获取与套接字连接的对等方的地址,它检索与套接字s连接的对等方的名字,并把它存在sockaddr结构的name域中。此函数只能用于已连接的数据报或流套接字。对于数据报套接字,只有在先前的connect()调用中指定的对等方的名字被返回,而不会返回先前的sendto()调用指定的名字。

参数描述

s 标识已连接的套接字的描述符。

name 指向连接的套接字网际地址的指针,该结构由getpeername()在返回之前填写,name的确切格式由通信发生的区域决定。namelen 指向name所指结构大小的指针。它在返回时含有返回名字的实际字

节数。

返回值:如果没有错误发生,getpeername()返回0。否则返回值SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必须

有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEFAULT 参数name或namelen不是用户地址空间的合法部分,或

参数namelen不够大。

WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。

WSAENOTCONN 套接字没有连接。

WSAENOTSOCK 此描述符不是套接字描述符。

参见:bind(), socket(), getsockname()。

6.2.6 getsockname()

语法: int WSAAPI

getsockname (

IN SOCKET s,

OUT struct sockaddr FAR* name,

IN OUT int FAR* namelen

);

此函数用来获取套接字的本地名。它检索指定套接字描述符的当前名字,并放入name,它用于参数s指定的一个已绑扎并且/或者已连接的套接字,返回与该套接字相连的本地地址。当调用connect()函数之前没有先调用bind()函数时,该调用特别有用;它提供了唯一一种用来确定系统设置的本地连接的方法。

参数描述

s 一个已绑扎(bind())套接字的描述符。

name 接收套接字的地址(名字)的缓冲区指针。

namelen 指向name 缓冲区大小的指针,返回时,它含有返回名字的实际字节

数。

返回值:如果没有错误发生,getsockname()返回0。否则返回值SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必须

有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEFAULT 参数name或namelen不是用户地址空间的合法部分,参

数namelen不够大。

WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。

WSAENOTSOCK 此描述符不是套接字描述符。

WSAEINVAL 套接字没有使用bind()绑扎到一个地址,或套接字在

bind()调用时地址指定为ADDR_ANY,并且连接仍没有建

立。

注释:流套接字只有在成功调用了bind(),connect()或accept()之后才真正与一名字联系。如果该套接字没有与一地址连接,调用返回其地址族,其它字段置为零。例如,一个网际地址域中的未连接套接字将会导致name所指的sockaddr_in结构中的sin_family字段被置为AF_INET,其它字段全置为零。如果套接字被绑扎为INADDR_ANY,这指示任何主机IP地址都可用于套接字,则getsockname()不一定返回主机IP地址的信息,除非该套接字已经用connect()或accept()建立了连接。Windows Sockets应用程序一定不要假定IP地址可从INADDR_ANY改变,这是因为对于一多宿主机来说,用于套接字的 IP 地址是不可知的,除非该套接字是已连接的。如果此套接字使用的是无连接协议,除非

I/O正在该套接字上发生,否则得不到地址。

参见:bind(), socket(), getpeername()。

6.2.7 getsockopt()

语法: int WSAAPI

getsockopt (

IN SOCKET s,

IN int level,

IN int optname,

OUT char FAR* optval,

IN OUT int FAR* optlen

);

此函数用来获取套接字选项。它检索与任何类型、任何状态的套接字相连的套接字选项的当前值,并把结果存入optval。选项可能在多个协议层存在,但

它们总是表现在最高的“socket”层。选项影响套接字操作,例如一个操作是否阻塞、包的路由选择、带外数据传输等。

参数描述

s 套接字描述符。

level 设置选项的层,只支持SOL_SOCKET 和IPPROTO_TCP。optname 指定要检索的套接字选项的名字。

optval 指向查询选项返回值的缓冲区。

optlen 指向optval缓冲区大小的指针。

返回值:如果没有错误发生,getsockname()返回0。否则返回值SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必须

有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEFAULT 参数optval或optlen不是用户地址空间的合法部分,或

参数optlen不够大。

WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。

WSAEINVAL level未知或非法。WSAENOTPROTOOPT 未知或不支持的选项。特别地,SOCK_STREAM类型的套接

字不支持SO_BROADCAST,而SOCK_DGRAM类型的套接字不

支持SO_ACCEPTCONN, SO_DONTLINGER, SO_KEEPALIVE,

SO_LINGER和SO_OOBINLINE。

WSAENOTSOCK 此描述符不是套接字描述符。

注释:与选择的选项相关联的返回值放在缓冲区optval中,由optlen指向的整数指针开始应含有该缓冲区的大小,返回时,它被赋予返回值的长度大小。对于SO_LINGER,这将是结构linger的大小;对于其他选项,它将是一整形值的长度。如果选项从未由setsockopt()设置,则getsockopt()返回该选项的默认值。

getsockopt()支持下表所列选项,TYPE 标志optval指向的数据类型。

TCP_NODELAY选项使用IPPROTO_TCP层,其它选项使用SOL_SOCKET层。

值类型含义默认值SO_ACCEPTCONN BOOL套接字正在监听(listen()ing)FALSE,除非

WSPListen()已

经被执行SO_BROADCAST BOOL套接字被设置用来发传广播消息FALSE SO_DEBUG BOOL允许Debugging FALSE SO_DONTLINGER BOOL如为真,SO_LINGER选项被关闭TRUE

SO_DONTROUTE BOOL路由选择关闭FALSE

SO_ERROR int获取错误状态,并清除错误。0

SO_GROUP_ID GROUP保留为将来的套接字组使用:套接字从

NULL

属的组ID

SO_GROUP_PRIORITY int保留为将来的套接字组使用:套接字组

中套接字的相对优先级

FALSE SO_KEEPALIVE BOOL正发送“keep a live(保持活动)”信

返回当前linger选项l_onoff为0 SO_LINGER struct linger FAR

*

依赖于实现SO_MAX_MSG_SIZE unsigned int基于消息的套接字类型的最大外出(发

送)消息长度。对基于流的套接字无意

SO_OOBINLINE BOOL在正常的数据流中接收带外数据FALSE SO_PROTOCOL_INFO WSAPROTOCOL_INFO此套接字绑扎的协议的协议信息依赖于协议SO_RCVBUF int接收缓冲区的大小依赖于实现SO_REUSEADDR BOOL套接字可绑扎到一已在使用的地址上FALSE SO_SNDBUF int发送缓冲区的大小依赖于实现SO_TYPE int套接字类型(例如,SOCK_STREAM)由socket()创

依赖于实现PVD_CONFIG依赖于服务提供者服务提供者给套接字s相关的一个不透

明数据结构。此对象存储了服务提供者

当前的配置信息。结构的确切格式由服

务提供者指定

依赖于实现TCP_NODELAY BOOL在发送聚结(coalescing)时关闭Nagle

算法

getsockopt()不支持的BSD选项有:

值类型含义

SO_RCVLOWAT int 接收低潮标志(Low water)

SO_RCVTIMEO int 接收超时

SO_SNDLOWAT int 发送低潮标志

SO_SNDTIMEO int 发送超时

IP_OPTIONS 取得IP头中的选项

TCP_MAXSEG int 取得TCP最大段尺寸

使用不支持的选项调用getsockopt()函数将返回错误码WSAENOPROTOOPT,它由WSAGetLastError()函数返回。

参见:setsockopt(), socket(), WSAAsyncSelect(), WSAConnect(), WSAGetLastError(), WSASetLastError()。

6.2.8 htonl()

语法: u_long WSAAPI

htonl (

IN u_long hostlong

);

此函数将一个u_long类型数(32位无符号整数)从主机字节顺序转换成TCP/IP网络字节顺序。

参数描述

hostlong 主机字节顺序表示的32位无符号整数。

返回值:htonl()返回一个TCP/IP网络字节顺序表示的32位值。

参见:htons(), ntohl(), ntohs(), WSAHtons(), WSAHtonl(), WSANtohl(), WSANtohs()。

6.2.9 htons()

语法: u_short WSAAPI

htons (

IN u_short hostshort

);

此函数将一个u_short类型数(16位无符号整数)从主机字节顺序转换成TCP/IP网络字节顺序。

参数描述

hostshort 主机字节顺序表示的16位无符号整数。

返回值:htons()返回一个TCP/IP网络字节顺序表示的16位值。

参见:htonl(), ntohl(), ntohs(), WSAHtons(), WSAHtonl(), WSANtohl(), WSANtohs()。

6.2.10 inet_addr()

语法: unsigned long WSAAPI

inet_addr (

IN const char FAR * cp

);

此函数将一个用点分表示法表示的字符串地址转换成网际地址in_addr形式。它解释由参数cp指示的字符串,该字符串代表用网际标准的点分表示法表示的网际地址。返回值是一个适用于网际地址的长整数。所有网际地址都以网络字节顺序(字节顺序从左到右)返回。

cp 含有用网际标准的点分表示法表示的地址的字符串。

返回值:如果没有错误发生,inet_addr()返回一个无符号长整数,它用适合网际地址的二进制表示。如果传入的字符串不含有合理的网际地址,例如

“a.b.c.d”地址的任何一部分超过255,则inet_addr()返回值INADDR_NONE。

注释:使用点分表示法表示的网际地址取下列形式的一种:

a.b.c.d a.b.c a.b a

如果四部分都指定了,每部分解释为一个字节数据,并从左到右赋给网际地址的四个字节。注意,当网际地址被看作Intel体系结构中的32位整数时,上述地址表示为“d.c.b.a”,这就是说,Intel处理器中的字节顺序是从右到左的。

注意:下述标记只用于Berkeley,不能用于网际的其它部分。为了与它们的软件兼容,这些都需要特殊支持。

当指定了一个三部分的地址时,最后一部分解释为16位整数,并放入网络地址最右端的两字节中。这使得三部分地址适宜于将B类网络地址指定为“https://www.360docs.net/doc/b13143878.html,.host”。

当指定了一个两部分的地址时,最后一部分解释为24位整数,并放入网络地址最右端的三字节中。这使得两部分地址适宜于将A类网络地址指定为“net.host”。

当只指定了一部分时,该值直接存入网络地址,毋需进行字节的重新安排。

点分表示法中作为地址的数字可以是十进制、十六进制或八进制,这些数字按C语言语法进行解释。以0x打头表示十六进制,以0打头表示八进制,以非零打头表示十进制,最常用的是点分十进制表示法。

参见:inet_ntoa()。

6.2.11 inet_ntoa()

语法: char FAR * WSAAPI

inet_ntoa (

IN struct in_addr in

);

此函数将一个网际地址转换成点分十进制表示法表示的字符串。它接受由参数in指定的网际地址结构,返回以点分表示法如“a.b.c.d”表示的地址的ASCII 字符串。

in 表示主机网际地址的结构。

返回值:如果没有错误发生,inet_ntoa()返回一个字符指针,该指针指向含有以点分十进制表示法表示的正文地址的静态缓冲区。否则返回NULL。

注释:值得注意的是,inet_addr()返回的字符串保存在Windows Sockets实现分配的内存中,应用程序不应对内存是如何分配的做任何假定。该数据一直保持有效直到同一线程的下一个Windows Sockets API调用。这样,在下一个Windows Sockets API调用前,数据应当备份出来。

参见:inet_addr()。

6.2.12 ioctlsocket()

语法: int WSAAPI

ioctlsocket (

IN SOCKET s,

IN long cmd,

IN OUT u_long FAR* argp

);

此函数控制套接字模式,它用于处在任何状态的任何套接字,用来获取或检索与套接字相关的,独立于协议和通讯子系统的操作参数。

参数描述

s 套接字描述符。

cmd 在套接字s上执行的命令。

argp 指向cmd命令的参数的指针。

返回值:成功结束则ioctlsocket()返回0。否则它返回SOCKET_ERROR,错误码可通过调用WSAGetLastError()函数得到。

错误码:

WSANOTINITIALISED 未初始化Windows Sockets DLL,在使用此函数之前必须

有一次成功的WSAStartup()函数调用。

WSAENETDOWN Windows Sockets 实现检测到网络系统已经失败。

WSAEINVAL cmd是非法命令,或者argp是cmd不可接受的参数,或

者此命令不能应用于套接字支持的类型。

WSAEINPROGRESS 一个阻塞的Windows Sockets 操作正在进行。

WSAENOTSOCK 此描述符不是套接字描述符。

WSAEFAULT 参数argp不是用户地址空间的合法部分。

电路 第十四章 网络函数

第十四章 网络函数 14.1 基本概念 14.1.1 网络函数的定义及性质 1. 定义:在线性非时变的电路中,电路在单一的独立激励下,其零状态响应() t r 的象函数()s R 与激励()t e 的象函数()s E 之比定义为该电路的网络函数()s H ,即 ()()() s E s R s H d e f = 。 2. 网络函数的形式 (1)驱动点函数:与网络在一对端子处的电压和电流有关,又分为驱动点阻抗函数()s Z 和驱动点导纳函数()s Y ,定义为: “驱动点”指的是若激励在某一端口,则响应也从此端口观察。 (2)转移函数:又称传递函数。转移函数的输入和输出在电路的不同端口,它的可能的形式有以下几种: 电压转移函数 ()()() s U s U s H U 12= 电流转移函数 ()()()s I s I s H I 12= 转移阻抗函数 ()()()s I s U s H Z 12= 转移导纳函数 ()() () s U s I s H Y 12= 3. 网络函数的性质 (1)网络函数是一实系数的有理分式,可写成两个s 多项式的比值: 函数()s N ,()s D 是系数分别为k a 和k b 的s 多项时,系数k a 和k b 是实数。 (2)当输入信号()t e 为单位冲激()t δ时,()()[]1==t L s E δ,则输出 该式说明,电路的单位冲激响应网络函数的原函数,即 14.1.2 网络函数的零极点与冲激响应()t h 的关系 1. 网络函数的零极点:若对上式中的()s N ,()s D 作因式分解,网络函数可写成 式中:1p ,2p ,…,n p 称为网络函数的极点,1z ,2z ,…,m z 称为网络函数的零点。网络函数的零点和极点可能是实数、虚数或复数。网络函数的极点仅取决于电路参数而与输入形式无关,故称为网络变量的自然频率或固有频率。 2. 零极点与冲激响应的关系 零点不影响()t h 的变化形式,仅影响波形的幅度,极点的分布直接影响()t h 的变化形式:

初二数学函数知识点总结(推荐文档)

第一讲 《函数》知识点总结 一、函数的基本知识: 知识网络图 基本概念 1、变量:在一个变化过程中可以取不同数值的量。 常量:在一个变化过程中只能取同一数值的量。 2、函数:一般的,在一个变化过程中,如果有两个变量x 和y ,并且对于x 的每一个确定的值,y 都有唯一确定的值 与其对应,那么我们就把x 称为自变量,把y 称为因变量,y 是x 的函数。 *判断A 是否为B 的函数,只要看B 取值确定的时候,A 是否有唯一确定的值与之对应 3、函数的图像 一般来说,对于一个函数,如果把自变量与函数的每对对应值分别作为点的横、纵坐标,那么坐标平面内由这些点组成的图形,就是这个函数的图象. 4、函数解析式:用含有表示自变量的字母的代数式表示因变量的式子叫做解析式。 5、描点法画函数图形的一般步骤 第一步:列表(表中给出一些自变量的值及其对应的函数值); 第二步:描点(在直角坐标系中,以自变量的值为横坐标,相应的函数值为纵坐标,描出表格中数值对应的各点); 第三步:连线(按照横坐标由小到大的顺序把所描出的各点用平滑曲线连接起来)。 6、函数的表示方法 列表法:一目了然,使用起来方便,但列出的对应值是有限的,不易看出自变量与函数之间的对应规律。 解析式法:简单明了,能够准确地反映整个变化过程中自变量与函数之间的相依关系,但有些实际问题中的函数关系,不能用解析式表示。 图象法:形象直观,但只能近似地表达两个变量之间的函数关系。 二、正比例函数和一次函数 1、正比例函数及性质 一般地,形如y=kx(k 是常数,k≠0)的函数叫做正比例函数,其中k 叫做比例系数. 注:正比例函数一般形式 y=kx (k 不为零) ① k 不为零 ② x 指数为1 ③ b 取零 一次函数 一元一次方程 一元一次不等式 二元一次方程 再认识 变化的世界 函数 建立数学模型 图象 性质 应用

高一数学必修1知识网络

高一数学必修1知识网络 123412n x A x B A B A B A n A ∈??? ????? ∈?∈?()元素与集合的关系:属于()和不属于()()集合中元素的特性:确定性、互异性、无序性集合与元素()集合的分类:按集合中元素的个数多少分为:有限集、无限集、空集()集合的表示方法:列举法、描述法(自然语言描述、特征性质描述)、图示法、区间法子集:若 ,则,即是的子集。、若集合中有个元素,则集合的子集有个, 注关系集合集合与集合{}00(2-1)23,,,,.4/n A A A B C A B B C A C A B A B x B x A A B A B A B A B A B x x A x B A A A A A B B A A B ??????????? ???????????≠∈?????=???=∈∈?=??=??=???真子集有个。、任何一个集合是它本身的子集,即 、对于集合如果,且那么、空集是任何集合的(真)子集。 真子集:若且(即至少存在但),则是的真子集。集合相等:且 定义:且交集性质:,,,运算{}{},/()()()-()/()()()()()()U U U U U U U U A A B B A B A B A A B x x A x B A A A A A A B B A A B A A B B A B A B B Card A B Card A Card B Card A B C A x x U x A A C A A C A A U C C A A C A B C A C B ????????=????=∈∈???=??=?=????????=???=+?=∈?=?=??==?=?,定义:或并集性质:,,,,, 定义:且补集性质:,,,, ()()()U U U C A B C A C B ????? ?? ?? ???? ?????????? ???????? ?????????????????????? ??????????????????????=???????

电路原理 第十四章

第十四章网络函数 一、教学基本要求 1、理解网络函数的的定义和极点、零点的概念; 2、掌握网络函数的零点、极点与冲激响应的关系; 3、掌握网络函数的零点、极点与频率响应的关系; 4、了解卷积定理,能利用卷积定理求电路的响应。 二、教学重点与难点 教学重点:1. 网络函数的的定义和极点、零点的概念; 2. 网络函数的零点、极点与冲激响应的关系; 3. 网络函数的零点、极点与频率响应的关系。 教学难点:1. 零点、极点与冲激响应的关系 2. 零点、极点与频率响应的关系 三、本章与其它章节的联系: 本章以第13 章为基础,是叠加定理(第 4 章)的一种表现。冲激响应可参见第6 章和第7 章。频率响应可参见第9 章。 四、学时安排总学时:4 五、教学内容 §14.1 网络函数的定义 1. 网络函数的定义 电路在单一的独立激励下,其零状态响应r(t) 的象函数R(s)与激励e(t)的象函数E(s)之比定义为该电路的网络函数H(s),即: 2 .网络函数的类型

设图 14.1 中,为激励电压、为激励电流;为响应电压、 为响应电流。根据激励可以是独立的电压源或独立的电流源,响应 可以是电路中任意两点之间的电压或任意一支路的电流,故网络函数可以有以下几种类型: 图 14.1 驱动点阻抗:;驱动点导纳:; 转移阻抗:;转移导纳:; 电流转移函数:;电压转移函数:。 注意: (1)根据网络函数的定义,若E(s)=1 ,即e(t)=δ(t),则R(s)=H(s) ,即网络函数就是该响应的象函数。所以,网络函数的原函数h(t) 为电路的单位冲激响应,因此如果已知电路某一处的单位冲激响应h(t) ,就可通过拉氏变换得到该响应的网络函数。 (2)网络函数仅与网络的结构和电路参数有关,与激励的函数形式无关,因此如果已知某一响应的网络函数H(s) ,它在某一激励E(s) 下的响应R(s) 就可表示为 R(s)=H(s)E(s) 例14-1 图示电路中,已知时,。求 时,

三角函数知识点汇总

1三角函数的概念 【知识网络】 【考点梳理】 考点一、角的概念与推广 1.任意角的概念:正角、负角、零角 2.象限角与轴线角: 与α终边相同的角的集合:},2|{Z k k ∈+=απββ 第一象限角的集合:{|22,}2 k k k Z π βπβπ<<+∈ 第二象限角的集合:{| 22,}2 k k k Z π βπβππ+<<+∈ 第三象限角的集合:3{|22,}2 k k k Z π βππβπ+<<+∈ 第四象限角的集合:3{| 222,}2 k k k Z π βπβππ+<<+∈ 终边在x 轴上的角的集合:{|,}k k Z ββπ=∈ 终边在y 轴上的角的集合:{|,}2 k k Z π ββπ=+∈ 终边在坐标轴上的角的集合:{|,}2 k k Z π ββ=∈ 要点诠释: 要熟悉任意角的概念,要注意角的集合表现形式不是唯一的,终边相同的角不一定相等,但相等的角终边一定相同,还要注意区间角与象限角及轴线角的区别与联系. 三角函数的概念 角的概念的推广、弧度制 正弦、余弦的诱导公式 同角三角函数的基本关系式 任意角的三角函数

考点二、弧度制 1.弧长公式与扇形面积公式: 弧长l r α= ?,扇形面积21 122 S lr r α==扇形(其中r 是圆的半径,α是弧所对圆心角的弧度数). 2.角度制与弧度制的换算: 180π=;180 10.017451()57.305718'180 rad rad rad π π = ≈=≈=; 要点诠释: 要熟悉弧度制与角度制的互化以及在弧度制下的有关公式. 考点三、任意角的三角函数 1. 定义:在角α上的终边上任取一点(,)P x y ,记r OP ==则sin y r α= , cos x r α=, tan y x α=,cot x y α=,sec r x α=,csc r y α= 2. 三角函数线:如图,单位圆中的有向线段MP ,OM ,AT 分别叫做α的正弦线,余弦线,正切线. 3. 三角函数的定义域:sin y α=,cos y α=的定义域是R α∈;tan y α=,sec y α=的定义域是 {|,}2 k k Z π ααπ≠+ ∈;cot y α=,csc y α=的定义域是{|,}k k Z ααπ≠∈. 4. 三角函数值在各个象限的符号: 考点四、同角三角函数间的基本关系式 1. 平方关系:2 2 2222sin cos 1;sec 1tan ;csc 1cot α+α=α=+αα=+α. 2. 商数关系:sin cos tan ;cot cos sin α α α= α= α α . 3. 倒数关系:tan cot 1;sin csc 1;cos sec 1α?α=αα=α?α= 要点诠释: ①同角三角函数的基本关系主要用于:(1)已知某一角的三角函数,求其它各三角函数值;(2)证明三角恒等式;(3)化简三角函数式. ②三角变换中要注意“1”的妙用,解决某些问题若用“1”代换,如2 2 1sin cos =α+α, 221sec tan tan 45=α-α== ,则可以事半功倍;同时三角变换中还要注意使用“化弦法”、消去法 及方程思想的运用. 考点五、诱导公式 1.2(),,,2k k Z πααπαπα+∈-±-的三角函数值等于α的同名三角函数值,前面加上一个把α看成锐角时原函数值所在象限的符号.

三角函数知识网络

三角函数、平面向量及解三角形专题 角的概念 任意角的三角函数的定义 三角函数 弧度制 弧长公式、扇形面积公式 三角函数线 同角三角函数的关系 诱导公式 和角、差角公式 二倍角公式 公式的变形、逆用、“1”的替换 化简、求值、证明(恒等变形) 三角函数 的 图 象 定义域 奇偶性 单调性 周期性 最值 对称轴(正切函数除外)经过函数图象的最高(或低)点且垂直x 轴的直线,对称中心是正余弦函数图象的零点,正切函数的对 称中心为(k π 2 ,0)(k ∈Z ). 正弦函数y =sin x = 余弦函数y =cos x 正切函数y =tan x y =A sin(ωx +?)+b ①图象可由正弦曲线经过平移、伸缩得到,但要注意先平移后伸缩与先伸缩后平移不同;②图象也可以用五点作图法;③用整体代换求单调区间(注意ω的符号); ④最小正周期T = 2π | ω |;⑤对称轴x =(2k +1)π-2?2ω,对称中心为(k π-?ω,b )(k ∈Z ). 平面向量 概念 线性运算 基本定理 加、减、数乘 几何意义 坐标表示 数量积 几何意义 模 共线与垂直 共线(平行) 垂直 值域 图象 a →∥ b →?b →=λa → ? x 1y 2-x 2y 1=0 a →⊥b →?b →·a →=0 ? x 1x 2+y 1y 2=0 解三角形 余弦定理 面积 正弦定理 解的个数的讨论 实际应用 S △=12ah =1 2ab sin C =p (p -a )(p -b )(p -c )(其中p =a +b +c 2 ) 投影 b →在a →方向上的投影为|b →|cos θ=a →·b → ——|a →| 设a →与b →夹角θ,则cos θ=a → ·b → ——|a →|·|b →| 对称性 |a →|=(x 2-x 1)2+(y 2-y 1)2 夹角公式

14、第8章无源网络传递函数的综合第1-2节内容总结(6页)

第8章无源网络传递函数的综合第1-2节内容总结 二端口网络的电压比传递函数是网络综合常用的另一个指标,本章介绍无源网络传递函数的综合。主要内容有:转移参数的性质,传输零点,梯形RC 网络,一臂多元件的梯形RC 网络,并联梯形网络,梯形LC 网络,单边带载LC 网络和双边带载LC 网络的达林顿实现。 8.1 转移参数的性质 网络综合的一般问题应是给出多端口网络的各种参数矩阵来综合网络。但在本章,只讨论较有代表性的传递函数) () ()(12s V s V s H = 的综合。 图8-1 利用开路参数计算传递函数 如图8-1所示,当02=I ,由双端口网络的开路参数方程可得: ) () ()()()(112112s Z s Z s V s V s H == (8-1) 或由双口网络的短路参数方程可得: ) () ()()()(222112s Y s Y s V s V s H -== (8-2) 式(8-1)、式(8-2)的分母是策动点函数。为讨论上述转移参数的特性,应采用特勒定理并考虑端口电流方向得 * =* **∑=+=j b j j T I V I V I V I V 3 2211 (8-3) 其中T V 是端口的电压向量,* I 是端口电流流向的共轭,式(8-3)右边为 )()(1 )()(000s F s V s s sM s F =++ (8-4) 即 )(s F I V T =* (8-5) 其中)(s F 为正实数。端口电压向量 ZI V = (8-6) 设111jb a I += 222jb a I +=,Z I Z I V T T T T ==

其中 Z 是双端口的开路参数矩阵,将上式和)()(2112s Z s Z =代入式(8-5)得 ) ()(22121212 2222 111121221212 2222111s F b b a a Z I Z I Z I Z I I Z I I Z I Z I Z I I V T T =+++=+++==* ** * (8-7) 因此得 ) (2)()()()(21212 2 22211121b b a a I s Z I s Z s F s Z +--= (8-8) 设)(s F 、)(11s Z 、)(22s Z 、)(21s Z 在jw 轴上某极点处留数分别为k 、11k 、22k 、21 k 显然k 、11k 、22k 各自大于等于零 ,故有 )(22121212 2222111b b a a k I k I k k +++= (8-9) 其中21212 1 b a I +=,2 2 222 2 b a I +=,代入式(8-9)后得 0)2()2(222 221211121222221211121≥+++++k b b b k k b k a a a k k a a 、 b 为任意实数时均需满足,,所以每个括号项分别均应为非负。其中第一个括号项可 以改写为 ??????++11222111212 2 12211)(2)(k k a a k k a a a k (8-10) 或 ??????-++211211122211 21212 211)()( k k k k k k a a a k (8-11) 电流的实部1a 、2a 可正可负,即使在 011 21 21=+k k a a 时,式(8-11)也应满足,故可得 02 212211≥-k k k (8-12) 设)(s F 、)(11s Z 、)(22s Z 、)(21s Z 当jw s =时实部分分别用r 、11r 、22r 、21r 表示,各代入式(8-7)取等式的实部得 0)(2)()(2121212 22222212111≥=+++++r b b a a r b a r b a r (8-13) 仿照上述方法不难证得实部条件 02212211≥-r r r (8-14) 同理转移导纳)(21s Y 具有和)(21s Z 类同的性质。因为

北师大版数学[中考总复习:函数综合--知识点整理及重点题型梳理](基础)

北师大版数学中考总复习 重难点突破 知识点梳理及重点题型巩固练习 中考总复习:函数综合—知识讲解(基础) 【考纲要求】 1.平面直角坐标系的有关知识 平面直角坐标系中各象限和坐标轴上的点的坐标的特征,求点关于坐标轴、坐标原点的对称点的坐标,求线段的长度,几何图形的面积,求某些点的坐标等; 2.函数的有关概念 求函数自变量的取值范围,求函数值、函数的图象、函数的表示方法; 3.函数的图象和性质 常见的题目是确定图象的位置,利用函数的图象确定某些字母的取值,利用函数的性质解决某些问题.利用数形结合思想来说明函数值的变化趋势,又能反过来判定函数图象的位置; 4.函数的解析式 求函数的解析式,求抛物线的顶点坐标、对称轴方程,利用函数的解析式来求某些字母或代数式的值.一次函数、反比例函数和二次函数常与一元一次方程、一元二次方程、三角形的面积、边角关系、圆的切线、圆的有关线段组成综合题. 【知识网络】

【考点梳理】 考点一、平面直角坐标系 1.相关概念 (1)平面直角坐标系 (2)象限 (3)点的坐标 2.各象限内点的坐标的符号特征 3.特殊位置点的坐标 (1)坐标轴上的点 (2)一三或二四象限角平分线上的点的坐标 (3)平行于坐标轴的直线上的点的坐标 (4)关于x轴、y轴、原点对称的点的坐标 4.距离 (1)平面上一点到x轴、y轴、原点的距离 (2)坐标轴或平行于坐标轴的直线上两点间的距离(3)平面上任意两点间的距离 5.坐标方法的简单应用 (1)利用坐标表示地理位置 (2)利用坐标表示平移 要点诠释:

点P(x,y)到坐标轴及原点的距离: (1)点P(x,y)到x 轴的距离等于y ; (2)点P(x,y)到y 轴的距离等于x ; (3)点P(x,y)到原点的距离等于22y x +. 考点二、函数及其图象 1.变量与常量 2.函数的概念 3.函数的自变量的取值范围 4.函数值 5.函数的表示方法(解析法、列表法、图象法) 6.函数图象 要点诠释: 由函数解析式画其图像的一般步骤: (1)列表:列表给出自变量与函数的一些对应值; (2)描点:以表中每对对应值为坐标,在坐标平面内描出相应的点; (3)连线:按照自变量由小到大的顺序,把所描各点用平滑的曲线连接起来. 考点三、一次函数 1.正比例函数的意义 2.一次函数的意义 3.正比例函数与一次函数的性质 4. 一次函数的图象与二元一次方程组的关系 5.利用一次函数解决实际问题 要点诠释: 确定一个正比例函数,就是要确定正比例函数定义式kx y =(k ≠0)中的常数k ;确定一个一次函数,需要确定一次函数定义式b kx y +=(k ≠0)中的常数k 和b.解这类问题的一般方法是待定系数法. 考点四、反比例函数 1.反比例函数的概念 2.反比例函数的图象及性质 3.利用反比例函数解决实际问题 要点诠释: 反比例函数中反比例系数的几何意义,如下图,过反比例函数)0(≠= k x k y 图像上任一点),(y x P 作x 轴、y 轴的垂线PM ,PN ,垂足为M 、N ,则所得的矩形PMON 的面积S=PM ?PN=xy x y =?. ,y x k = ∴||k S k xy ==,.

高中数学必修一第二章基本初等函数(知识网络)

第二章基本初等函数(知识网络),(0,,)()(0,,)()(0,0,)(01)1lo m n a n a n m n a a r s r s a a a a r s Q r s rs a a a r s Q r r s ab a b a b r Q x y a a a x 根式:为根指数,为被开方数分数指数幂指数的运算指数函数性质定义:一般地把函数且叫做指数函数。指数函数性质:见表对数:基本初等函数对数的运算对数函数g ,log ()log log ; log log log ; . log log ;(0,1,0,0) log log (01)1 log (,0,1,0) log c a c N a N a M N M N a a a M M N a a a N n M n M a a M N a a y x a a a b b a c a c b a 为底数,为真数性质换底公式:定义:一般地把函数且叫做对数函数 对数函数性质:见表且y x x 幂函数定义:一般地,函数叫做幂函数,是自变量,是常数。 性质:见表2 表 1 指数函数0,1x y a a a 对数数函数log 0,1a y x a a 定 义域 x R 0,x 值 域0,y y R 图 象 性质过定点(0,1)过定点(1,0) 减函数增函数减函数增函数(,0)(1,)(0,)(0,1)x y x y 时,时,(,0)(0,1)(0,)(1,)x y x y 时,时,(0,1)(0,)(1,)(,0)x y x y 时,时,(0,1)(,0) (1,)(0,)x y x y 时,时,

a b a b a b a b 表2 幂函数() y x R p q 00111p q 为奇数 为奇数奇函数p q 为奇数 为偶数 p q 为偶数 为奇数偶函数第一象限 性质减函数增函数过定点01(,)

第十四章(网络函数)习题解答

第十四章(网络函数)习题解答 一、 选择题 1.已知某网络函数) 4)(2(34)(2++++=s s s s s H ,则该网络的单位阶跃响应中 B 。 A .有冲激响应分量; B .有稳态响应分量; C .响应的绝对值不断增大 2.若已知某网络的网络函数,则根据给定的激励可求出该网络的 C 。 A .全响应; B . 零输入响应; C .零状态响应 3.电路网络函数的极点在S 平面上的分布如图14—1所示,该电路的冲激响应是 B 。 A.等幅的正弦振荡; B .衰减的正弦振荡; C .增幅的正弦振荡 二、 填空题 1. 网络 零 状态响应的象函数与激励的象函数之比称为 网络函数 。 2. 已知某电路在激励)()(1t t f ε=时,其零状态响应为)(e 2)(32t t f t ε=-;若激励改为)(e )(1t t f t ε=-,则响应=)(2t f )()e e 3(3t t t ε---。 解:由已知条件得电路的网络函数为 3 2132 )(+=+=s s s s s H ,因此激励为)(e )(1t t f t ε=-时响应的象函数为 1 133)1)(3(211)()(2+-+=++=+?=s s s s s s s H s F 而 )(ε)e e 3()(32t t f t t ?-=-- 3. 某网络的单位冲激响应)(ε)e 3e ()t (h 42t t t ?+=--,它的网络函数是) 4)(2(104+++s s s ,单位阶跃响应是)()75.0e 5.025.1(2t t ε?---。 解:根据网络函数和单位冲激响应的关系,有 ) 4)(2(1044321)(+++=+++= s s s s s s H 而单位阶跃响应的象函数为414321211451)4)(2(1041)(+?-+?-?=?+++=s s s s s s s s s H , 单位阶跃响应为 )()e 75.0e 5.025.1(42t t t ε?---- 三、计算题 1.图14—2所示电路中,s i 为激励,c u 为响应。试求:①.网络函数; ②.单位阶跃响应; ③.A )(εe 3t i t s ?=-时的零状态响应。

三角函数知识点归纳总结

《三角函数》 【知识网络】 一、任意角的概念与弧度制 1、将沿x 轴正向的射线,围绕原点旋转所形成的图形称作角. 逆时针旋转为正角,顺时针旋转为负角,不旋转为零角 2、同终边的角可表示为 {}()360k k Z ααβ? =+∈ x 轴上角:{}()180k k Z αα=∈ y 轴上角:{}()90180k k Z αα=+∈ 3、第一象限角:{}()0360 90360k k k Z αα? ?+<<+∈ 第二象限角:{}()90360180360k k k Z αα??+<<+∈ 第三象限角:{}()180 360270360k k k Z αα??+<<+∈ 第四象限角: {}()270 360360360k k k Z αα??+<<+∈ 4、区分第一象限角、锐角以及小于90的角 第一象限角:{}()0360 90360k k k Z αα? ?+<<+∈ 锐角: {}090αα<< 小于90的角:{}90αα< 任意角的概念 弧长公式 角度制与 弧度制 同角三角函数的基本关系式 诱导 公式 计算与化简 证明恒等式 任意角的 三角函数 三角函数的 图像和性质 已知三角函数值求角 和角公式 倍角公式 差角公式 应用 应用 应用 应用 应用 应用 应用

5、若α为第二象限角,那么 2 α 为第几象限角? ππαππ k k 222 +≤≤+ ππ α ππ k k +≤ ≤ +2 2 4 ,24,0παπ≤≤=k ,2345,1παπ≤≤=k 所以2 α 在第一、三象限 6、弧度制:弧长等于半径时,所对的圆心角为1弧度的圆心角,记作1rad . 7、角度与弧度的转化:01745.01801≈=?π 815730.571801'?=?≈? =π 8、角度与弧度对应表: 角度 0? 30? 45? 60? 90 120? 135? 150? 180? 360? 弧度 6π 4π 3π 2π 23π 34π 56 π π 2π 9、弧长与面积计算公式 弧长:l R α=?;面积:211 22 S l R R α=?=?,注意:这里的α均为弧度制. 二、任意角的三角函数 1、正弦:sin y r α=;余弦cos x r α=;正切tan y x α= 其中(),x y 为角α终边上任意点坐标,22r x y =+. 2、三角函数值对应表: 3、三角函数在各象限中的符号 口诀:一全正,二正弦,三正切,四余弦.(简记为“全s t c ”) 度 0 30 45 60 90 120 135 150 180 ? 270 360 弧度 6 π 4π 3π 2π 23π 34π 56π π 32 π 2π sin α 0 12 22 32 1 32 22 12 1 0 cos α 1 32 22 12 1 2- 22- 32- 1- 0 1 tan α 0 33 1 3 无 3- 1- 3 3 - 无 r y) (x,α P

电路 第十四章 网络函数

第十四章 网络函数 14.1 基本概念 14.1.1 网络函数的定义及性质 1. 定义:在线性非时变的电路中,电路在单一的独立激励下,其零状态响应() t r 的象函数()s R 与激励()t e 的象函数()s E 之比定义为该电路的网络函数()s H ,即 ()()() s E s R s H d e f = 。 2. 网络函数的形式 (1)驱动点函数:与网络在一对端子处的电压和电流有关,又分为驱动点阻抗函数()s Z 和驱动点导纳函数()s Y ,定义为: ()()()() s Y s I s U s Z 1 == “驱动点”指的是若激励在某一端口,则响应也从此端口观察。 (2)转移函数:又称传递函数。转移函数的输入和输出在电路的不同端口,它的可能的形式有以下几种: 电压转移函数 ()()()s U s U s H U 12= 电流转移函数 ()()()s I s I s H I 12= 转移阻抗函数 ()() ()s I s U s H Z 12= 转移导纳函数 ()() () s U s I s H Y 12= 3. 网络函数的性质 (1)网络函数是一实系数的有理分式,可写成两个s 多项式的比值: ()()()0 11 10 111b s b s b s a s a s a s a s D s N s H n n n m m m m ++++++++==---- 函数()s N ,()s D 是系数分别为k a 和k b 的s 多项时,系数k a 和k b 是实数。 (2)当输入信号()t e 为单位冲激()t δ时,()()[]1==t L s E δ,则输出 ()()()s H s H s R =?=1 该式说明,电路的单位冲激响应网络函数的原函数,即 ()()[]s H L t h 1-=

一次函数知识点及典型例题

一次函数知识点 一次函数知识网络图 考点一:变量、常量及函数定义 1、变量:在一个变化过程中可以取不同数值的量。 常量:在一个变化过程中只能取同一数值的量。 2、函数:一般的,在一个变化过程中,如果有两个变量x 和y ,并且对于x 的每一个确定的值, y 都有唯一确定的值与其对应,那么我们就把x 称为自变量,把y 称为是x 的函数。 ※判断A 是否为B 的函数,只要看B 取值确定的时候,A 是否有唯一确定的值与之对应 典型例题: 1、下列函数关系式中不是函数关系式的是( ) A. 21y x =+ B. 2 1y x =+ C. 1y x x =+ D. 22y x = 2、下列各图中表示y 是x 的函数图像的是 ( ) 考点二、自变量取值范围:一般的,一个函数的自变量允许取值的范围。 确定函数自变量取值范围的方法: (1)必须使关系式成立。 ①当关系式为整式时,自变量取值范围为全体实数; ②当关系式含有分式时,自变量取值范围要使分式的分母的值不等于零; ③关系式含有二次根式时,自变量取值范围必须使被开方的式子不小于零; A B D

④当关系式中含有指数为零或负数的式子时,自变量取值范围要使底数不等于零; (2)当函数关系表示实际问题时,自变量的取值范围还要符合实际情况,使之有意义。 (3)当函数关系表示一个图形的变化关系时,自变量的取值范围必须使图形存在。 典型例题: 1、函数3 1 -=x y 的自变量x 的取值范围是 2、函数3-= x y 的自变量x 的取值范围是 3、函数() 2 20x y x -=++的自变量x 的取值范围是 4、小强在劳动技术课中要制作一个周长为10cm 的等腰三角形.请你写出底边长y (cm )与一腰长x (cm )的函数关系式,并写出自变量的取值范围. 考点三、函数的图像与解析式的关系 1、函数的表示方法 (1)列表法:一目了然,使用起来方便,但列出的对应值是有限的,不易看出自变量与函数之间的对应规律。 (2)解析式法:简单明了,能够准确地反映整个变化过程中自变量与函数之间的相依关系,但有些实际问题中的函数关系,不能用解析式表示。 (3)图象法:形象直观,但只能近似地表达两个变量之间的函数关系。 函数的三种表示方法各有优、缺点,有时可以相互转化。 2、分段函数的解析式及图像 注意把握:(1)始点、终点、拐点的坐标及实际意义 (2)每条线段(射线)的解析式、取值范围、实际意义 (3)每个解析式中K 的实际意义 典型例题: 1、 如图反映的过程是:晓明从家跑步到体育馆,在那里锻炼了一阵后又走到新华书店去买书, 然后散步走回家。其中t 表示时间(分钟),S 表示晓明离家的距离(千米),那么晓明在体育馆锻炼和在新华书店买书共用去时间是_______________分钟.你还能分析出什么? 2、如图,已知蚂蚁以均匀的速度沿台阶A →B →C →D →E 爬行,那么蚂蚁爬行的高度h 随时间t 变化的图像大致是( )

(完整版)三角函数知识点归纳总结总结,推荐文档

应用 应用 差角公式 倍角公式 和角公式 已知三角函数值求角 三角函数的图像和性质 任意角的三角函数 诱导公式 同角三角函数的基本关系式 计算与化简证明恒等式 任意角的概念 角度制与弧度制 【知识网络】 《三角函数》 应用 应用 应用 应用 一、任意角的概念与弧度制 1、将沿 x 轴正向的射线,围绕原点旋转所形成的图形称作角. 逆时针旋转为正角,顺时针旋转为负角,不旋转为零角 2、同终边的角可表示为 { = + k 360?}(k ∈ Z ) x 轴上角: {= k 180 }(k ∈ Z ) y 轴上角:{= 90 + k 180 }(k ∈ Z ) 3、第一象限角: {0 + k 360? << 90 + k 360?}(k ∈ Z ) 第二象限角: {90 + k 360? << 180 + k 360?}(k ∈ Z )第三象限角:{180 + k 360? << 270 + k 360?}(k ∈ Z )第四象限角:{270 + k 360? < < 360 + k 360?}(k ∈ Z ) 4、区分第一象限角、锐角以及小于90 的角 弧长公式

x 2 + y 2 第一象限角: {0 + k 360? < < 90 + k 360?}(k ∈ Z ) 锐角: {0 << 90 } 小于90 的角: {< 90 } 5、若 为第二象限角,那么 为第几象限角? 2 + 2k ≤≤+ 2k + k ≤ ≤ + k 2 4 5 2 2 k = 0, ≤≤ , k = 1, ≤≤ 3 , 4 2 4 2 所以 在第一、三象限 2 6、弧度制:弧长等于半径时,所对的圆心角为1弧度的圆心角,记作1rad . 7、角度与弧度的转化:1? = 8、角度与弧度对应表: 180 ≈ 0.01745 1 = 180? ≈ 57.30? = 57?18' 角度 0? 30? 45? 60? 90 120? 135? 150? 180? 360? 弧度 6 4 3 2 2 3 3 4 5 6 2 9、弧长与面积计算公式 弧长: l = ? R ;面积: S = 1 l ? R = 1 ? R 2 ,注意:这里的均为弧度制. 2 2 二、任意角的三角函数 y x y 1、正弦: sin = ;余弦cos = ;正 切 tan = r r x 其中(x , y )为角 终边上任意点坐标, r = . 2、三角函数值对应表: 度 0 30 45 60 90 120 135 150 180 270? 360 弧度 6 4 3 2 2 3 3 4 5 6 3 2 2 P (x,y) r α

网络函数

网络函数 一、教学基本要求 1、理解网络函数的的定义和极点、零点的概念; 2、掌握网络函数的零点、极点与冲激响应的关系; 3、掌握网络函数的零点、极点与频率响应的关系; 4、了解卷积定理,能利用卷积定理求电路的响应。 二、教学重点与难点 教学重点:1. 网络函数的的定义和极点、零点的概念; 2. 网络函数的零点、极点与冲激响应的关系; 3. 网络函数的零点、极点与频率响应的关系。 教学难点:1. 零点、极点与冲激响应的关系 2. 零点、极点与频率响应的关系 三、本章与其它章节的联系: 本章以第13 章为基础,是叠加定理(第4 章)的一种表现。冲激响应可参见第 6 章和第7 章。频率响应可参见第9 章。 四、学时安排总学时:4 五、教学内容 §14.1 网络函数的定义 1. 网络函数的定义 电路在单一的独立激励下,其零状态响应r(t) 的象函数R(s)与激励e(t)的象函数E(s)之比定义为该电路的网络函数H(s),即: 2 .网络函数的类型

设图 14.1 中,为激励电压、为激励电流;为响应电压、 为响应电流。根据激励可以是独立的电压源或独立的电流源,响应 可以是电路中任意两点之间的电压或任意一支路的电流,故网络函数可以有以下几种类型: 图 14.1 驱动点阻抗:;驱动点导纳:; 转移阻抗:;转移导纳:; 电流转移函数:;电压转移函数:。 注意: (1)根据网络函数的定义,若E(s)=1 ,即e(t)=δ(t),则R(s)=H(s) ,即网络函数就是该响应的象函数。所以,网络函数的原函数h(t) 为电路的单位冲激响应,因此如果已知电路某一处的单位冲激响应h(t) ,就可通过拉氏变换得到该响应的网络函数。 (2)网络函数仅与网络的结构和电路参数有关,与激励的函数形式无关,因此如果已知某一响应的网络函数H(s) ,它在某一激励E(s) 下的响应R(s) 就可表示为 R(s)=H(s)E(s) 例14-1 图示电路中,已知时,。求 时,

专题二 函数知识网络

专题二 函数 (一)函数知识网络结构 ,,,A B A x B y f B A B x y x f y y x y →映射定义:设,是两个非空的集合,如果按某一个确定的对应关系,使对于集合中的任意一个元素, 在集合中都有唯一确定的元素与之对应,那么就称对应:为从集合到集合的一个映射 传统定义:如果在某变化中有两个变量并且对于在某个范围内的每一个确定的值,定义 按照某个对应关系都有唯一确定的值和它对应。那么就是的函数。记作函数及其表示函数{ [][][][][]().,,()()(),,1212()()(),,12f x a b a x x b f x f x f x a b a b f x f x f x a b a b a =≤<≤<>???????????????近代定义:函数是从一个数集到另一个数集的映射。定义域函数的三要素值域对应法则 解析法函数的表示方法列表法 图象法 单调性函数的基本性质传统定义:在区间上,若如,则在上递增,是 递增区间;如,则在上递减,是的递减区间。导数定义:在区间[][][][][]()1()2()()00,()0(),,()0(),,y f x I M x I f x M x I f x M M y f x b f x f x a b a b f x f x a b a b =∈≤∈==????><<=?=><

相关文档
最新文档