亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? irserver.c

?? windows 網(wǎng)絡(luò)編程。pdf文檔
?? C
字號(hào):
// Module Name: Irserver.c
//
// Description:
//    This sample illustrates a IrSock server. This sampe is targeted
//    towards Windows 98 and Windows 2000 but can also be used on 
//    Windows CE. There are conditional defines to make the major 
//    differences in the platforms. Mainly, Windows CE requires 
//    Winsock 1.1 while the others require 2.2.  Also, Windows CE 
//    must be a Windows application so you can't use main(). The only
//    thing you need to do to for Windows CE is paste this file into 
//    a project file in VC to compile it for the given target 
//    processor type.
//
// Compile:
//    Windows CE: Paste into VC project and target for yur device.
//                Link with winsock.lib
//    Windows NT:
//        cl /D"_WIN32_WINNT" -o Irserver Irserver.c 
//         Ircommon.obj ws2_32.lib
//    Windows 98:
//        cl /D"_WIN32_WINDOWS" -o Irserver Irserver.c 
//         Ircommon.obj ws2_32.lib
//
// Command line parameters/options:
//    None. The server is hardcode to listen on "MyServer". Change
//    the define IR_SERVICE_NAME if you desire something else (don't
//    forget to change the server too).
//

#ifdef _WIN32_WCE
#include <windows.h>
#include <winsock.h>
#else
#include <winsock2.h>
#endif

#include "af_irda.h"

#include <stdio.h>
#include <stdlib.h>

#define IR_SERVICE_NAME	  "MyServer"
#define MAX_BUFFER        4096

//
// Function: ClientThread
//
// Description:
//    This is a client thread that is spawned with each client
//    connection.  The thread simply reads data and writes it
//    back to the client until the socket is closed.
//
DWORD WINAPI ClientThread(LPVOID lpParam)
{
    SOCKET        s = (SOCKET)lpParam;
    int           ret,
                  len;
    char          szRecvBuff[MAX_BUFFER];

    while (1)
    {
        // Read data from client
        //
        len = MAX_BUFFER;
        if ((ret = recvdata(s, szRecvBuff, &len)) != 0)
        {
            printf("recv() failed: %d\n", ret);
            break;
        }
        if (len == 0)        // Graceful close
            break;
        szRecvBuff[len] = 0;
        printf("Read: %d bytes\n", len);
        // 
        // Write data back until socket closure, len will
        //  equal 0 when the socket has been gracefully closed
        // 
        if ((ret = senddata(s, szRecvBuff, &len)) != 0)
        {
            printf("send() failed: %d\n", ret);
            break;
        }
        if (len == 0)        // Graceful close
            break;
        printf("Wrote: %d bytes\n", len);
    }
    closesocket(s);
    return 0;
}

//
// Function: main (Winmain)
//
// Description:
//    This is the main function of the server. The appropriate 
//    Winsock library is loaded first, an IR listening socket is 
//    created, and we bind the socket to our server name.
//    Afterwards we block on an accept() in a loop. Once a client
//    connection is made, we spawn a thread to handle the connection.
//
#ifdef _WIN32_WCE
int WINAPI WinMain(HANDLE hInstance, HANDLE hPrevIntance,
                   LPTSTR lpCmdLine, int nCmdShow)
#else
int main(int argc, char **argv)
#endif
{
    WSADATA			wsd;
    SOCKET			sock,
					sockClient;
    SOCKADDR_IRDA	irAddr = { AF_IRDA, 0, 0, 0, 0, "\0" },
					remoteIrAddr;
    DWORD			dwIrSize = sizeof(SOCKADDR_IRDA),
					dwRet, 
					dwErr,
					dwId;
    BOOL			bDone = FALSE;
    char			szRecvBuff[MAX_BUFFER];
    int				optval;
    HANDLE			hThread;
    WORD			wVersion;

#ifdef _WIN32_WCE
    wVersion = MAKEWORD(1, 1);
#else
    wVersion = MAKEWORD(2, 2);
#endif

    if (WSAStartup(wVersion, &wsd) != 0)
    {
        fprintf(stderr, "Unable to load Winsock library!\n");
		return 0;
    }
    sock = socket(AF_IRDA, SOCK_STREAM, 0);
    if (sock == INVALID_SOCKET)
    {
		fprintf(stderr, "socket() failed: %d\n", WSAGetLastError());
		return 0;
    }

    strcpy(irAddr.irdaServiceName, IR_SERVICE_NAME);
    //
    // Bind our socket to the local service name
    //
    printf("Binding to service class name: %s\n", 
		irAddr.irdaServiceName);
    if (bind(sock, (struct sockaddr *)&irAddr, sizeof(SOCKADDR_IRDA))
		== SOCKET_ERROR)
    {
		fprintf(stderr, "bind() failed: %d\n", WSAGetLastError());
		return 0;
    }
 
    listen(sock, 10);

    while (1)
    {
        sockClient = accept(sock, (struct sockaddr *)&remoteIrAddr,
			&dwIrSize);
        if (sockClient == SOCKET_ERROR)
        {
			fprintf(stderr, "accept() failed: %d\n",
				WSAGetLastError());
			return 0;
        } 
        // Make the client socket non-blocking
        //
        optval = 1;
        if (ioctlsocket(sockClient, FIONBIO, &optval) 
			== SOCKET_ERROR)
        {
			fprintf(stderr, "ioctlsocket(FIONBIO) failed: %d\n",
				WSAGetLastError());
            return 0;
        }
        hThread = CreateThread(NULL, 0, ClientThread, 
			(LPVOID)sockClient, 0, &dwId);
        if (hThread == NULL)
        {
			// Unable to create thread
        }
        CloseHandle(hThread);
    }
    // Close and cleanup
    //
    closesocket(sockClient);
    closesocket(sock);

    WSACleanup();

    return 1;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费精品视频| 国产激情一区二区三区四区| 色一情一伦一子一伦一区| 国产精品欧美一区喷水| 成人免费黄色大片| 亚洲特黄一级片| 欧美综合亚洲图片综合区| 亚洲电影你懂得| 欧美一级高清大全免费观看| 久久国产精品99久久人人澡| 中文av一区二区| 在线观看亚洲成人| 日韩高清一级片| 久久久久久日产精品| 91免费国产在线观看| 午夜精品久久一牛影视| 精品少妇一区二区三区在线播放| 国产精品一卡二卡在线观看| 1024成人网色www| 欧美色区777第一页| 精品无人码麻豆乱码1区2区 | 另类小说综合欧美亚洲| 久久久久综合网| 日韩亚洲欧美成人一区| 成人一区二区三区在线观看| 亚洲一二三区不卡| 久久日韩精品一区二区五区| 99精品热视频| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲丶国产丶欧美一区二区三区| 欧美r级电影在线观看| 本田岬高潮一区二区三区| 午夜精品aaa| 亚洲欧美一区二区视频| 日韩一区二区精品葵司在线| 成人h版在线观看| 免费黄网站欧美| 亚洲欧洲日韩综合一区二区| 日韩免费高清视频| 欧美综合亚洲图片综合区| 国产精品69毛片高清亚洲| 亚洲福利电影网| 国产精品理论在线观看| 日韩美女视频在线| 欧美性猛片xxxx免费看久爱| 国产成人综合精品三级| 日韩精品高清不卡| 亚洲美女屁股眼交3| 久久久久久综合| 欧美一区二区三区在线看| 色美美综合视频| 成人h精品动漫一区二区三区| 美女视频黄久久| 亚洲国产一区二区三区青草影视 | 1024成人网| 成人午夜免费电影| 欧美电影免费观看高清完整版在 | 国产真实乱对白精彩久久| 亚洲精选视频免费看| 国产婷婷精品av在线| 日韩欧美国产一区二区在线播放| 欧美又粗又大又爽| 色综合久久中文字幕| 99精品国产热久久91蜜凸| 国产一区二区三区免费播放| 日本网站在线观看一区二区三区 | 日韩国产高清影视| 一区二区免费视频| 亚洲欧美二区三区| 亚洲欧洲日本在线| 国产精品久久毛片av大全日韩| 久久久精品免费观看| 久久久国产一区二区三区四区小说 | 亚洲成人激情av| 亚洲自拍偷拍欧美| 一区二区日韩电影| 亚洲国产精品自拍| 性久久久久久久久| 日韩精品91亚洲二区在线观看 | 91在线视频播放地址| 成人黄色国产精品网站大全在线免费观看| 国产一区二区在线电影| 欧美日本在线一区| 欧美亚洲国产怡红院影院| 欧美在线小视频| 欧美人妖巨大在线| 日韩欧美国产午夜精品| 亚洲精品一区二区三区99| 精品成a人在线观看| 久久精品视频一区二区三区| 久久影视一区二区| 国产精品毛片高清在线完整版| 中文字幕在线不卡| 亚洲免费av观看| 亚洲国产美国国产综合一区二区| 日韩成人dvd| 国产美女精品一区二区三区| 不卡视频免费播放| 欧美亚洲国产一区在线观看网站| 91精品国产色综合久久不卡蜜臀| 日韩视频一区二区在线观看| 国产偷国产偷亚洲高清人白洁| 中文字幕在线观看不卡视频| 亚洲成人自拍偷拍| 久久爱另类一区二区小说| 成人午夜精品一区二区三区| 一本久久a久久免费精品不卡| 欧美剧情片在线观看| 精品国产乱码久久久久久蜜臀 | 色婷婷综合久久久久中文一区二区 | 国产一区二区视频在线| 高清在线成人网| 欧洲精品在线观看| 日韩精品一区二区三区视频播放| 国产无一区二区| 亚洲午夜久久久久久久久久久 | 136国产福利精品导航| 午夜视频久久久久久| 国产69精品久久99不卡| 欧美日韩在线直播| 久久精品视频一区二区| 亚洲午夜电影在线观看| 国产激情一区二区三区四区| 欧美视频三区在线播放| 国产欧美精品一区二区色综合| 亚洲一区二区av在线| 国内不卡的二区三区中文字幕| 在线精品视频一区二区| 国产午夜亚洲精品午夜鲁丝片| 亚洲国产综合色| www.欧美.com| 久久久久久麻豆| 日韩不卡一二三区| 欧美性受极品xxxx喷水| 国产精品久久久久久妇女6080| 蜜桃精品在线观看| 欧美亚洲国产一区二区三区| 国产精品三级av在线播放| 久久精品国产99国产精品| 欧美在线不卡视频| 最新国产精品久久精品| 国模套图日韩精品一区二区 | 26uuu色噜噜精品一区| 一区二区三区在线视频观看58| 成人亚洲精品久久久久软件| 日韩女优电影在线观看| 亚洲成人第一页| 95精品视频在线| 国产精品久久综合| 国产精品一线二线三线精华| 欧美一区二区三区在线视频| 亚洲国产一二三| 国产日韩欧美激情| 精品亚洲国产成人av制服丝袜| 91精品欧美一区二区三区综合在| 亚洲欧美aⅴ...| 91视频观看视频| 亚洲日本va午夜在线电影| 成人午夜视频免费看| 国产午夜精品一区二区三区嫩草 | 国产一区二区三区日韩 | 欧美一区二区观看视频| 亚洲一二三区在线观看| 欧美系列日韩一区| 亚洲综合区在线| 欧美天天综合网| 香蕉成人伊视频在线观看| 欧美日韩一区二区三区在线看| 夜夜精品视频一区二区| 欧美色区777第一页| 午夜不卡av免费| 91精品国产欧美一区二区18| 丝袜亚洲另类欧美综合| 91精品欧美一区二区三区综合在| 日韩国产欧美在线播放| 欧美成人激情免费网| 国产一区91精品张津瑜| 中文字幕国产精品一区二区| youjizz国产精品| 亚洲欧美激情视频在线观看一区二区三区 | 大胆亚洲人体视频| 欧美激情一区二区在线| 99国产精品国产精品久久| 日韩伦理免费电影| 欧美视频精品在线| 免费高清在线视频一区·| 精品乱人伦一区二区三区| 国产综合久久久久久久久久久久| 国产亚洲美州欧州综合国| eeuss鲁片一区二区三区 | 3d动漫精品啪啪一区二区竹菊| 日本aⅴ精品一区二区三区| 久久亚洲一区二区三区明星换脸| 国产精品白丝jk白祙喷水网站 | 国产精品妹子av| 在线精品视频免费播放| 久久精品噜噜噜成人av农村| 欧美韩日一区二区三区四区| 欧美性色aⅴ视频一区日韩精品| 蜜臀a∨国产成人精品|