锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲婷婷国产精品电影人久久,久久综合给久久狠狠97色,精品综合久久久久久88小说http://www.shnenglu.com/flashboy/archive/2008/04/28/48383.htmlRedLightRedLightMon, 28 Apr 2008 14:47:00 GMThttp://www.shnenglu.com/flashboy/archive/2008/04/28/48383.htmlhttp://www.shnenglu.com/flashboy/comments/48383.htmlhttp://www.shnenglu.com/flashboy/archive/2008/04/28/48383.html#Feedback0http://www.shnenglu.com/flashboy/comments/commentRss/48383.htmlhttp://www.shnenglu.com/flashboy/services/trackbacks/48383.htmlAcceptEx Function

The AcceptEx function accepts a new connection, returns the local and remote address, and receives the first block of data sent by the client application.

Note  This function is a Microsoft-specific extension to the Windows Sockets specification.


寮曠敤
BOOL AcceptEx(
  __in   SOCKET sListenSocket,
  __in   SOCKET sAcceptSocket,
  __in   PVOID lpOutputBuffer,
  __in   DWORD dwReceiveDataLength,
  __in   DWORD dwLocalAddressLength,
  __in   DWORD dwRemoteAddressLength,
  __out  LPDWORD lpdwBytesReceived,
  __in   LPOVERLAPPED lpOverlapped
);

Parameters
sListenSocket
A descriptor identifying a socket that has already been called with the listen function. A server application waits for attempts to connect on this socket.

sAcceptSocket
A descriptor identifying a socket on which to accept an incoming connection. This socket must not be bound or connected.

lpOutputBuffer
A pointer to a buffer that receives the first block of data sent on a new connection, the local address of the server, and the remote address of the client. The receive data is written to the first part of the buffer starting at offset zero, while the addresses are written to the latter part of the buffer. This parameter must be specified.

dwReceiveDataLength
The number of bytes in lpOutputBuffer that will be used for actual receive data at the beginning of the buffer. This size should not include the size of the local address of the server, nor the remote address of the client; they are appended to the output buffer. If dwReceiveDataLength is zero, accepting the connection will not result in a receive operation. Instead, AcceptEx completes as soon as a connection arrives, without waiting for any data.

dwLocalAddressLength
The number of bytes reserved for the local address information. This value must be at least 16 bytes more than the maximum address length for the transport protocol in use.

dwRemoteAddressLength
The number of bytes reserved for the remote address information. This value must be at least 16 bytes more than the maximum address length for the transport protocol in use. Cannot be zero.

lpdwBytesReceived
A pointer to a DWORD that receives the count of bytes received. This parameter is set only if the operation completes synchronously. If it returns ERROR_IO_PENDING and is completed later, then this DWORD is never set and you must obtain the number of bytes read from the completion notification mechanism.

lpOverlapped
An OVERLAPPED structure that is used to process the request. This parameter must be specified; it cannot be NULL.

Return Value
If no error occurs, the AcceptEx function completed successfully and a value of TRUE is returned.

If the function fails, AcceptEx returns FALSE. The WSAGetLastError function can then be called to return extended error information. If WSAGetLastError returns ERROR_IO_PENDING, then the operation was successfully initiated and is still in progress. If the error is WSAECONNRESET, an incoming connection was indicated, but was subsequently terminated by the remote peer prior to accepting the call.

Remarks


The AcceptEx function combines several socket functions into a single API/kernel transition. The AcceptEx function, when successful, performs three tasks:

A new connection is accepted.
Both the local and remote addresses for the connection are returned.
The first block of data sent by the remote is received.

Note  The function pointer for the AcceptEx function must be obtained at run time by making a call to the WSAIoctl function with the SIO_GET_EXTENSION_FUNCTION_POINTER opcode specified. The input buffer passed to the WSAIoctl function must contain WSAID_ACCEPTEX, a globally unique identifier (GUID) whose value identifies the AcceptEx extension function. On success, the output returned by the WSAIoctl function contains a pointer to the AcceptEx function. The WSAID_ACCEPTEX GUID is defined in the Mswsock.h header file.

A program can make a connection to a socket more quickly using AcceptEx instead of the accept function.

A single output buffer receives the data, the local socket address (the server), and the remote socket address (the client).

Using a single buffer improves performance. When using AcceptEx, the GetAcceptExSockaddrs function must be called to parse the buffer into its three distinct parts (data, local socket address, and remote socket address). On Windows XP and later, once the AcceptEx function completes and the SO_UPDATE_ACCEPT_CONTEXT option is set on the accepted socket, the local address associated with the accepted socket can also be retrieved using the getsockname function. Likewise, the remote address associated with the accepted socket can be retrieved using the getpeername function.

The buffer size for the local and remote address must be 16 bytes more than the size of the sockaddr structure for the transport protocol in use because the addresses are written in an internal format. For example, the size of a sockaddr_in (the address structure for TCP/IP) is 16 bytes. Therefore, a buffer size of at least 32 bytes must be specified for the local and remote addresses.

The AcceptEx function uses overlapped I/O, unlike the accept function. If your application uses AcceptEx, it can service a large number of clients with a relatively small number of threads. As with all overlapped Windows functions, either Windows events or completion ports can be used as a completion notification mechanism.



Another key difference between the AcceptEx function and the accept function is that AcceptEx requires the caller to already have two sockets:

One that specifies the socket on which to listen.
One that specifies the socket on which to accept the connection.
The sAcceptSocket parameter must be an open socket that is neither bound nor connected.

The lpNumberOfBytesTransferred parameter of the GetQueuedCompletionStatus function or the GetOverlappedResult function indicates the number of bytes received in the request.



When this operation is successfully completed, sAcceptSocket can be passed, but to the following functions only:

ReadFile
WriteFile
send
WSASend
recv
WSARecv
TransmitFile
closesocket
setsockopt (only for SO_UPDATE_ACCEPT_CONTEXT)
Note  If the TransmitFile function is called with both the TF_DISCONNECT and TF_REUSE_SOCKET flags, the specified socket has been returned to a state in which it is neither bound nor connected. The socket handle can then be passed to the AcceptEx function in the sAcceptSocket parameter, but the socket cannot be passed to the ConnectEx function.

When the AcceptEx function returns, the socket sAcceptSocket is in the default state for a connected socket. The socket sAcceptSocket does not inherit the properties of the socket associated with sListenSocket parameter until SO_UPDATE_ACCEPT_CONTEXT is set on the socket. Use the setsockopt function to set the SO_UPDATE_ACCEPT_CONTEXT option, specifying sAcceptSocket as the socket handle and sListenSocket as the option value.


For example:
  1.  err = setsockopt( sAcceptSocket,    
  2.     SOL_SOCKET,    
  3.     SO_UPDATE_ACCEPT_CONTEXT,    
  4.     (char *)&sListenSocket,    
  5.     sizeof(sListenSocket) );   

If a receive buffer is provided, the overlapped operation will not complete until a connection is accepted and data is read. Use the getsockopt function with the SO_CONNECT_TIME option to check whether a connection has been accepted. If it has been accepted, you can determine how long the connection has been established. The return value is the number of seconds that the socket has been connected. If the socket is not connected, the getsockopt returns 0xFFFFFFFF. Applications that check whether the overlapped operation has completed, in combination with the SO_CONNECT_TIME option, can determine that a connection has been accepted but no data has been received. Scrutinizing a connection in this manner enables an application to determine whether connections that have been established for a while have received no data. It is recommended such connections be terminated by closing the accepted socket, which forces the AcceptEx function call to complete with an error.


For example:

  1.  INT seconds;   
  2. INT bytes = sizeof(seconds);   
  3. err = getsockopt( sAcceptSocket, SOL_SOCKET, SO_CONNECT_TIME,   
  4.                       (char *)&seconds, (PINT)&bytes );   
  5. if ( err != NO_ERROR ) {   
  6.     printf( "getsockopt(SO_CONNECT_TIME) failed: %ld\n", WSAGetLastError( ) );   
  7.     exit(1);   
  8. }   

Note   All I/O initiated by a given thread is canceled when that thread exits. For overlapped sockets, pending asynchronous operations can fail if the thread is closed before the operations complete. See ExitThread for more information.

Example Code

The following example uses the AcceptEx function using overlapped I/O and completion ports.

  1.  #include <stdio.h>   
  2. #include "winsock2.h"   
  3. #include "mswsock.h"   
  4.   
  5. void main() {   
  6.   //----------------------------------------   
  7.   // Declare and initialize variables   
  8.   WSADATA wsaData;   
  9.   HANDLE hCompPort;   
  10.   LPFN_ACCEPTEX lpfnAcceptEx = NULL;   
  11.   GUID GuidAcceptEx = WSAID_ACCEPTEX;   
  12.   WSAOVERLAPPED olOverlap;   
  13.      
  14.   SOCKET ListenSocket, AcceptSocket;   
  15.   sockaddr_in service;   
  16.   char lpOutputBuf[1024];   
  17.   int outBufLen = 1024;   
  18.   DWORD dwBytes;   
  19.   
  20.   //----------------------------------------   
  21.   // Initialize Winsock   
  22.   int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );   
  23.   if( iResult != NO_ERROR )   
  24.     printf("Error at WSAStartup\n");   
  25.   
  26.   //----------------------------------------   
  27.   // Create a handle for the completion port   
  28.   hCompPort = CreateIoCompletionPort( INVALID_HANDLE_VALUE, NULL, (u_long)0, 0 );   
  29.   
  30.   //----------------------------------------   
  31.   // Create a listening socket   
  32.   ListenSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );   
  33.   if (ListenSocket == INVALID_SOCKET) {   
  34.     printf("Error at socket(): ListenSocket\n");   
  35.     WSACleanup();   
  36.     return;   
  37.   }   
  38.   
  39.   //----------------------------------------   
  40.   // Associate the listening socket with the completion port   
  41.   CreateIoCompletionPort((HANDLE)ListenSocket, hCompPort, (u_long)0, 0);   
  42.   
  43.   //----------------------------------------   
  44.   // Bind the listening socket to the local IP address   
  45.   // and port 27015   
  46.   hostent* thisHost;   
  47.   char* ip;   
  48.   u_short port;   
  49.   port = 27015;   
  50.   thisHost = gethostbyname("");   
  51.   ip = inet_ntoa (*(struct in_addr *)*thisHost->h_addr_list);   
  52.   
  53.   service.sin_family = AF_INET;   
  54.   service.sin_addr.s_addr = inet_addr(ip);  service.sin_port = htons(port);   
  55.   
  56.   if ( bind( ListenSocket,(SOCKADDR*) &service, sizeof(service) )  == SOCKET_ERROR ) {   
  57.     printf("bind failed\n");   
  58.     closesocket(ListenSocket);   
  59.     return;   
  60.   }   
  61.   
  62.   //----------------------------------------   
  63.   // Start listening on the listening socket   
  64.   if (listen( ListenSocket, 100 ) == SOCKET_ERROR) {   
  65.     printf("error listening\n");   
  66.   }    
  67.   printf("Listening on address: %s:%d\n", ip, port);   
  68.   
  69.   //----------------------------------------   
  70.   // Load the AcceptEx function into memory using WSAIoctl.   
  71.   // The WSAIoctl function is an extension of the ioctlsocket()   
  72.   // function that can use overlapped I/O. The function's 3rd   
  73.   // through 6th parameters are input and output buffers where   
  74.   // we pass the pointer to our AcceptEx function. This is used   
  75.   // so that we can call the AcceptEx function directly, rather   
  76.   // than refer to the Mswsock.lib library.   
  77.   WSAIoctl(ListenSocket,    
  78.     SIO_GET_EXTENSION_FUNCTION_POINTER,    
  79.     &GuidAcceptEx,    
  80.     sizeof(GuidAcceptEx),   
  81.     &lpfnAcceptEx,    
  82.     sizeof(lpfnAcceptEx),    
  83.     &dwBytes,    
  84.     NULL,    
  85.     NULL);   
  86.   
  87.   //----------------------------------------   
  88.   // Create an accepting socket   
  89.   AcceptSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);   
  90.   if (AcceptSocket == INVALID_SOCKET) {   
  91.     printf("Error creating accept socket.\n");   
  92.     WSACleanup();   
  93.     return;   
  94.   }   
  95.   
  96.   //----------------------------------------   
  97.   // Empty our overlapped structure and accept connections.   
  98.   memset(&olOverlap, 0, sizeof(olOverlap));   
  99.   
  100.   lpfnAcceptEx(ListenSocket,    
  101.     AcceptSocket,   
  102.     lpOutputBuf,    
  103.     outBufLen - ((sizeof(sockaddr_in) + 16) * 2),   
  104.     sizeof(sockaddr_in) + 16,    
  105.     sizeof(sockaddr_in) + 16,    
  106.     &dwBytes,    
  107.     &olOverlap);   
  108.   
  109.   //----------------------------------------   
  110.   // Associate the accept socket with the completion port   
  111.   CreateIoCompletionPort((HANDLE)AcceptSocket, hCompPort, (u_long)0, 0);   
  112.   
  113.   //----------------------------------------   
  114.   // Continue on to use send, recv, TransmitFile(), etc.,.   
  115.   ...   
  116.   
  117. }   

Notes for QOS
The TransmitFile function allows the setting of two flags, TF_DISCONNECT or TF_REUSE_SOCKET, that return the socket to a "disconnected, reusable" state after the file has been transmitted. These flags should not be used on a socket where quality of service has been requested, since the service provider may immediately delete any quality of service associated with the socket before the file transfer has completed. The best approach for a QOS-enabled socket is to simply call the closesocket function when the file transfer has completed, rather than relying on these flags.

Notes for ATM
There are important issues associated with connection setup when using Asynchronous Transfer Mode (ATM) with Windows Sockets 2. Please see the Remarks section in the accept function documentation for important ATM connection setup information.

Requirements
Client Requires Windows Vista, Windows XP, Windows 2000 Professional, or Windows NT Workstation 3.51 and later.
Server Requires Windows Server 2008, Windows Server 2003, Windows 2000 Server, or Windows NT Server 3.51 and later.
Header Declared in Mswsock.h.

Library Use Mswsock.lib.

DLL Requires Mswsock.dll.


濡傛灉浣犳兂瀹冭繛鎺ヤ笂灝辯珛鍗蟲彁紺鴻繛鎺ュ畬鎴愶紝鍒欏彧欏誨皢dwReceiveDataLength璧?灝監K.

浣跨敤AcceptEx()鐨勪竴澶уソ澶勬槸錛?
浣犲彲浠ラ氳繃涓嬈¤皟鐢ㄥ氨瀹屾垚鎺ュ彈瀹㈡埛绔繛鎺ヨ姹傚拰鎺ュ彈鏁版嵁(閫氳繃浼犻乴pOutputBuffer鍙傛暟)涓や歡浜嬫儏銆?
涔熷氨鏄錛屽鏋滃鎴風鍦ㄥ彂鍑鴻繛鎺ョ殑鍚屾椂浼犺緭鏁版嵁錛?
浣犵殑AcceptEx()璋冪敤鍦ㄨ繛鎺ュ垱寤哄茍鎺ユ敹浜嗗鎴風鏁版嵁鍚庡氨鍙互绔嬪埢榪斿洖銆?
榪欐牱鍙兘鏄緢鏈夌敤鐨勶紝浣嗘槸涔熷彲鑳戒細寮曞彂闂錛屽洜涓篈cceptEx()蹇呴』絳夊叏閮ㄥ鎴風鏁版嵁閮芥敹鍒頒簡鎵嶈繑鍥炪?
鍏蜂綋鏉ヨ錛屽鏋滀綘鍦ㄥ彂鍑篈cceptEx()璋冪敤鐨勫悓鏃朵紶閫掍簡 lpOutputBuffer鍙傛暟錛岄偅涔圓cceptEx()涓嶅啀鏄竴欏瑰師瀛愬瀷鐨勬搷浣滐紝
鑰屾槸鍒嗘垚浜嗕袱姝ワ細鎺ュ彈瀹㈡埛榪炴帴錛岀瓑寰呮帴鏀舵暟鎹?/span>褰撶己灝戜竴縐嶆満鍒舵潵閫氱煡浣犵殑搴旂敤紼嬪簭鎵鍙戠敓鐨勮繖縐嶆儏鍐碉細“榪炴帴宸茬粡寤虹珛浜嗭紝姝e湪絳夊緟瀹㈡埛绔暟鎹?#8221;錛岃繖灝嗘剰鍛崇潃鏈夊彲鑳藉嚭鐜板鎴風鍙彂鍑鴻繛鎺ヨ姹傦紝浣嗘槸涓嶅彂閫佹暟鎹?br>


RedLight 2008-04-28 22:47 鍙戣〃璇勮
]]>
pthread搴撹繘琛屽綰跨▼緙栫▼http://www.shnenglu.com/flashboy/archive/2008/04/16/47276.htmlRedLightRedLightWed, 16 Apr 2008 09:14:00 GMThttp://www.shnenglu.com/flashboy/archive/2008/04/16/47276.htmlhttp://www.shnenglu.com/flashboy/comments/47276.htmlhttp://www.shnenglu.com/flashboy/archive/2008/04/16/47276.html#Feedback0http://www.shnenglu.com/flashboy/comments/commentRss/47276.htmlhttp://www.shnenglu.com/flashboy/services/trackbacks/47276.html闃呰鍏ㄦ枃

RedLight 2008-04-16 17:14 鍙戣〃璇勮
]]>
epoll鐨勪紭鐐瑰強epoll瀛︿範蹇冨緱http://www.shnenglu.com/flashboy/archive/2008/04/16/47277.htmlRedLightRedLightWed, 16 Apr 2008 09:14:00 GMThttp://www.shnenglu.com/flashboy/archive/2008/04/16/47277.htmlhttp://www.shnenglu.com/flashboy/comments/47277.htmlhttp://www.shnenglu.com/flashboy/archive/2008/04/16/47277.html#Feedback0http://www.shnenglu.com/flashboy/comments/commentRss/47277.htmlhttp://www.shnenglu.com/flashboy/services/trackbacks/47277.html闃呰鍏ㄦ枃

RedLight 2008-04-16 17:14 鍙戣〃璇勮
]]>
Epoll & Select鎬ц兘姣旇緝嫻嬭瘯http://www.shnenglu.com/flashboy/archive/2008/04/16/47261.htmlRedLightRedLightWed, 16 Apr 2008 09:06:00 GMThttp://www.shnenglu.com/flashboy/archive/2008/04/16/47261.htmlhttp://www.shnenglu.com/flashboy/comments/47261.htmlhttp://www.shnenglu.com/flashboy/archive/2008/04/16/47261.html#Feedback0http://www.shnenglu.com/flashboy/comments/commentRss/47261.htmlhttp://www.shnenglu.com/flashboy/services/trackbacks/47261.html闃呰鍏ㄦ枃

RedLight 2008-04-16 17:06 鍙戣〃璇勮
]]>
緋葷粺璁捐涔?緗戠粶妯″瀷錛堜簩錛?/title><link>http://www.shnenglu.com/flashboy/archive/2008/04/16/47260.html</link><dc:creator>RedLight</dc:creator><author>RedLight</author><pubDate>Wed, 16 Apr 2008 09:05:00 GMT</pubDate><guid>http://www.shnenglu.com/flashboy/archive/2008/04/16/47260.html</guid><wfw:comment>http://www.shnenglu.com/flashboy/comments/47260.html</wfw:comment><comments>http://www.shnenglu.com/flashboy/archive/2008/04/16/47260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flashboy/comments/commentRss/47260.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flashboy/services/trackbacks/47260.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/flashboy/archive/2008/04/16/47260.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/flashboy/aggbug/47260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flashboy/" target="_blank">RedLight</a> 2008-04-16 17:05 <a href="http://www.shnenglu.com/flashboy/archive/2008/04/16/47260.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緋葷粺璁捐涔?緗戠粶妯″瀷錛堜竴錛?/title><link>http://www.shnenglu.com/flashboy/archive/2008/04/16/47259.html</link><dc:creator>RedLight</dc:creator><author>RedLight</author><pubDate>Wed, 16 Apr 2008 09:04:00 GMT</pubDate><guid>http://www.shnenglu.com/flashboy/archive/2008/04/16/47259.html</guid><wfw:comment>http://www.shnenglu.com/flashboy/comments/47259.html</wfw:comment><comments>http://www.shnenglu.com/flashboy/archive/2008/04/16/47259.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flashboy/comments/commentRss/47259.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flashboy/services/trackbacks/47259.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/flashboy/archive/2008/04/16/47259.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/flashboy/aggbug/47259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flashboy/" target="_blank">RedLight</a> 2008-04-16 17:04 <a href="http://www.shnenglu.com/flashboy/archive/2008/04/16/47259.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍐呭瓨姹犺璁?/title><link>http://www.shnenglu.com/flashboy/archive/2008/04/16/47255.html</link><dc:creator>RedLight</dc:creator><author>RedLight</author><pubDate>Wed, 16 Apr 2008 09:01:00 GMT</pubDate><guid>http://www.shnenglu.com/flashboy/archive/2008/04/16/47255.html</guid><wfw:comment>http://www.shnenglu.com/flashboy/comments/47255.html</wfw:comment><comments>http://www.shnenglu.com/flashboy/archive/2008/04/16/47255.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flashboy/comments/commentRss/47255.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flashboy/services/trackbacks/47255.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/flashboy/archive/2008/04/16/47255.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/flashboy/aggbug/47255.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flashboy/" target="_blank">RedLight</a> 2008-04-16 17:01 <a href="http://www.shnenglu.com/flashboy/archive/2008/04/16/47255.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>灝佸寘鍜屾媶鍖?/title><link>http://www.shnenglu.com/flashboy/archive/2008/04/16/47254.html</link><dc:creator>RedLight</dc:creator><author>RedLight</author><pubDate>Wed, 16 Apr 2008 09:00:00 GMT</pubDate><guid>http://www.shnenglu.com/flashboy/archive/2008/04/16/47254.html</guid><wfw:comment>http://www.shnenglu.com/flashboy/comments/47254.html</wfw:comment><comments>http://www.shnenglu.com/flashboy/archive/2008/04/16/47254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flashboy/comments/commentRss/47254.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flashboy/services/trackbacks/47254.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/flashboy/archive/2008/04/16/47254.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/flashboy/aggbug/47254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flashboy/" target="_blank">RedLight</a> 2008-04-16 17:00 <a href="http://www.shnenglu.com/flashboy/archive/2008/04/16/47254.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.qvvj.cn" target="_blank">中文无码久久精品</a>| <a href="http://www.montblanc-fola.cn" target="_blank">亚洲国产另类久久久精品小说</a>| <a href="http://www.onlymir.cn" target="_blank">久久精品国产亚洲av麻豆图片 </a>| <a href="http://www.cpser.cn" target="_blank">99久久精品免费看国产免费</a>| <a href="http://www.jinxing168.net.cn" target="_blank">亚洲国产精品无码久久一区二区 </a>| <a href="http://www.3393795.cn" target="_blank">国产精品99久久久精品无码</a>| <a href="http://www.fzcxpc.cn" target="_blank">久久国产精品免费一区</a>| <a href="http://www.bamboomart.cn" target="_blank">一级做a爰片久久毛片16</a>| <a href="http://www.six-dream.cn" target="_blank">久久99精品久久久久子伦</a>| <a href="http://www.f1490.cn" target="_blank">狼狼综合久久久久综合网</a>| <a href="http://www.wthangjia.cn" target="_blank">亚洲中文精品久久久久久不卡</a>| <a href="http://www.wshoponlinet.cn" target="_blank">亚洲国产成人精品91久久久</a>| <a href="http://www.zey120.cn" target="_blank">久久综合鬼色88久久精品综合自在自线噜噜 </a>| <a href="http://www.jiehuchong.cn" target="_blank">亚洲综合精品香蕉久久网97</a>| <a href="http://www.qpzv.cn" target="_blank">久久精品成人免费看</a>| <a href="http://www.kucunshuo.cn" target="_blank">久久精品国产亚洲一区二区</a>| <a href="http://www.reln.cn" target="_blank">国内精品久久久久影院免费</a>| <a href="http://www.521mz.cn" target="_blank">久久香蕉一级毛片</a>| <a href="http://www.ipingpong.cn" target="_blank">精品99久久aaa一级毛片</a>| <a href="http://www.k1877.cn" target="_blank">久久精品成人欧美大片</a>| <a href="http://www.xfshebao.cn" target="_blank">色婷婷综合久久久久中文字幕 </a>| <a href="http://www.rolanskin.cn" target="_blank">亚洲va久久久噜噜噜久久</a>| <a href="http://www.jejf.cn" target="_blank">久久精品国产亚洲AV大全</a>| <a href="http://www.idhm.cn" target="_blank">2021少妇久久久久久久久久</a>| <a href="http://www.nicemom.cn" target="_blank">91精品国产高清久久久久久国产嫩草</a>| <a href="http://www.034867.cn" target="_blank">草草久久久无码国产专区</a>| <a href="http://www.udyq.cn" target="_blank">久久久久一级精品亚洲国产成人综合AV区</a>| <a href="http://www.fandele.cn" target="_blank">久久亚洲AV无码精品色午夜 </a>| <a href="http://www.nthaixin.com.cn" target="_blank">伊人久久大香线焦综合四虎</a>| <a href="http://www.daliandamingda.cn" target="_blank">久久99精品国产99久久6</a>| <a href="http://www.hzf89.cn" target="_blank">亚洲人成无码www久久久</a>| <a href="http://www.lantianhotel.cn" target="_blank">777午夜精品久久av蜜臀 </a>| <a href="http://www.czzdjsj.cn" target="_blank">久久综合久久久</a>| <a href="http://www.xiwangchuang.cn" target="_blank">久久青青草原精品国产软件 </a>| <a href="http://www.1hkl.cn" target="_blank">久久久久亚洲av无码专区喷水</a>| <a href="http://www.ffwfwj.cn" target="_blank">久久91精品久久91综合</a>| <a href="http://www.linggei.cn" target="_blank">天天综合久久一二三区</a>| <a href="http://www.langmyc.cn" target="_blank">久久综合综合久久综合</a>| <a href="http://www.1rizu.cn" target="_blank">久久精品国产99国产精品</a>| <a href="http://www.iysb.cn" target="_blank">99久久99久久精品国产片果冻 </a>| <a href="http://www.huangjiguang.cn" target="_blank">欧美黑人激情性久久</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>