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

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

?? nbclient.c

?? 一個很好的TCP和UDP端口控制的例子!稍加改動
?? C
字號:
// Module Name: Nbclient.c
//
// Purpose:
//    This is a NetBIOS client application that can interact with
//    either of the two server samples.  The client attempts a
//    connection to the server on all LANA numbers. Once the first
//    connect succeeds, all others are cancelled or disconnected.
//
// Compile:
//    cl -o Nbclient.exe Nbclient.c ..\Common\Nbcommon.obj
//       netapi32.lib user32.lib
//
// Command Line Options:
//    Nbclient.exe CLIENT-NAME SERVER-NAME
//
//    CLIENT-NAME        The NetBIOS name this client registers as
//    SERVER-NAME        The NetBIOS name of the server to connect to
//
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

#include "..\Common\nbcommon.h"

#define MAX_SESSIONS     254
#define MAX_NAMES        254

#define MAX_BUFFER       1024

char    szServerName[NCBNAMSZ];

//
// Function: Connect
//
// Description:
//    Post an asynchronous connect on the given LANA number to
//    the server. The NCB structure passed in already has the 
//    ncb_event field set to a valid Windows event handle. Just
//    fill in the blanks and make the call.
//
int Connect(PNCB pncb, int lana, char *server, char *client)
{
    pncb->ncb_command = NCBCALL | ASYNCH;
    pncb->ncb_lana_num = lana;

    memset(pncb->ncb_name, ' ', NCBNAMSZ);
    strncpy(pncb->ncb_name, client, strlen(client));

    memset(pncb->ncb_callname, ' ', NCBNAMSZ);
    strncpy(pncb->ncb_callname, server, strlen(server));

    if (Netbios(pncb) != NRC_GOODRET)
    {
        printf("ERROR: Netbios: NCBCONNECT: %d\n",
			pncb->ncb_retcode);
        return pncb->ncb_retcode;
    }
    return NRC_GOODRET;
}

//
// Function: main
//
// Description:
//    Initialize the NetBIOS interface, allocate some resources
//    (event handles, a send buffer, and so on), and issue an 
//    NCBCALL for each LANA to the given server. Once a connection
//    has been made, cancel or hang up any other outstanding
//    connections. Then send/receive the data. Finally, clean 
//    things up.
//
int main(int argc, char **argv)
{
    HANDLE      *hArray;
    NCB         *pncb;
    char         szSendBuff[MAX_BUFFER];
    DWORD        dwBufferLen,
                 dwRet,
                 dwIndex,
                 dwNum;
    LANA_ENUM    lenum;
    int          i;

    if (argc != 3)
    {
        printf("usage: nbclient CLIENT-NAME SERVER-NAME\n");
        return 1;
    }
    // Enumerate all LANAs and reset each one
    //
    if (LanaEnum(&lenum) != NRC_GOODRET)
        return 1;
    if (ResetAll(&lenum, (UCHAR)MAX_SESSIONS, (UCHAR)MAX_NAMES, 
            FALSE) != NRC_GOODRET)
        return 1;
    strcpy(szServerName, argv[2]);
    //
    // Allocate an array of HANDLEs to use for asynchronous events.
    // Also allocate an array of NCB structures.  We need 1 handle
	// and 1 NCB for each LANA number.
    //
    hArray = (HANDLE *)GlobalAlloc(GMEM_FIXED,
		sizeof(HANDLE) * lenum.length);
    pncb   = (NCB *)GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT,
		sizeof(NCB) * lenum.length);        
    //
    // Create an event and assign it into the corresponding NCB 
    // structure and issue an asynchronous connect (NCBCALL). 
    // Additionally don't forget to add the clients name to each
	// LANA it wants to connect over.
    //
    for(i = 0; i < lenum.length; i++)
    {
        hArray[i] = CreateEvent(NULL, TRUE, FALSE, NULL);
        pncb[i].ncb_event = hArray[i];

        AddName(lenum.lana[i], argv[1], &dwNum);
        Connect(&pncb[i], lenum.lana[i], szServerName, argv[1]);
    }
    // Wait for at least one connection to succeed
    //
    dwIndex = WaitForMultipleObjects(lenum.length, hArray, FALSE, 
        INFINITE);
    if (dwIndex == WAIT_FAILED)
    {
        printf("ERROR: WaitForMultipleObjects: %d\n",
			GetLastError());
    }
    else
    {
        // If more than one connection succeeds, hang up the extra 
        // connection. We'll use the connection that was returned
        // by WaitForMultipleObjects. Otherwise, if it's still pending,
        // cancel it.
        //
        for(i = 0; i < lenum.length; i++)
        {
            if (i != dwIndex)
            {
                if (pncb[i].ncb_cmd_cplt == NRC_PENDING)
                    Cancel(&pncb[i]);
                else
                    Hangup(pncb[i].ncb_lana_num, pncb[i].ncb_lsn);
            }
        }
        printf("Connected on LANA: %d\n", pncb[dwIndex].ncb_lana_num);
        //
        // Send and receive the messages
        //
        for(i = 0; i < 20; i++)
        {
            wsprintf(szSendBuff, "Test message %03d", i);
            dwRet = Send(pncb[dwIndex].ncb_lana_num, 
                pncb[dwIndex].ncb_lsn, szSendBuff,
				strlen(szSendBuff));
            if (dwRet != NRC_GOODRET)
                break;
            dwBufferLen = MAX_BUFFER;
            dwRet = Recv(pncb[dwIndex].ncb_lana_num, 
                pncb[dwIndex].ncb_lsn, szSendBuff, &dwBufferLen);
            if (dwRet != NRC_GOODRET)
                break;
            szSendBuff[dwBufferLen] = 0;
            printf("Read: '%s'\n", szSendBuff);
        }
        Hangup(pncb[dwIndex].ncb_lana_num, pncb[dwIndex].ncb_lsn);
    }
    // Clean things up
    //
    for(i = 0; i < lenum.length; i++)
    {
        DelName(lenum.lana[i], argv[1]);
        CloseHandle(hArray[i]);
    }
    GlobalFree(hArray);
    GlobalFree(pncb);

    return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久婷婷国产| 久久免费看少妇高潮| 日韩欧美在线123| 国产精品―色哟哟| 免费不卡在线观看| 色综合视频一区二区三区高清| 日韩一级二级三级精品视频| 中文字幕中文字幕一区二区| 奇米在线7777在线精品| av成人老司机| 久久婷婷国产综合国色天香| 性久久久久久久久久久久 | 日韩精品一卡二卡三卡四卡无卡| 国产成人免费视频精品含羞草妖精 | 久久九九久精品国产免费直播| 天使萌一区二区三区免费观看| 色婷婷精品久久二区二区蜜臂av | 狠狠久久亚洲欧美| 51精品久久久久久久蜜臀| 亚洲精品免费看| 一本色道久久加勒比精品 | 亚洲va韩国va欧美va精品| 成人免费黄色在线| 久久久亚洲国产美女国产盗摄| 日韩电影免费在线| 欧美日韩你懂得| 亚洲成年人影院| 精品视频资源站| 肉肉av福利一精品导航| 欧美三级日本三级少妇99| 亚洲第一主播视频| 欧美午夜精品久久久久久孕妇| 亚洲综合一区在线| 欧美伊人久久久久久久久影院 | 欧美熟乱第一页| 亚洲午夜精品久久久久久久久| 91国偷自产一区二区三区成为亚洲经典 | 日韩在线观看一区二区| 欧美日韩在线播放一区| 亚洲电影一级黄| 欧美日韩免费视频| 麻豆中文一区二区| 精品国产一区二区三区四区四| 精品一区二区三区在线播放| 亚洲精品一区二区在线观看| 国产精品99久久久久久似苏梦涵| 精品三级av在线| 国产成人aaa| 亚洲三级在线看| 欧美日韩在线播放三区| 久久精品国产亚洲a| 久久婷婷成人综合色| 不卡视频在线看| 亚洲一区二区三区四区在线免费观看| 色噜噜狠狠一区二区三区果冻| 亚洲国产综合人成综合网站| 日韩亚洲欧美在线| 成人夜色视频网站在线观看| 亚洲欧美乱综合| 欧美一区二区三区视频在线| 国产乱码精品一品二品| 亚洲丝袜精品丝袜在线| 9191久久久久久久久久久| 狠狠色丁香婷婷综合久久片| 中文字幕亚洲区| 91精品国产综合久久小美女| 成人综合激情网| 亚洲国产精品久久久久婷婷884| 欧美成人一区二区三区在线观看 | 亚洲欧洲99久久| 日韩一级片网站| a级精品国产片在线观看| 日韩成人免费电影| 国产精品国产精品国产专区不片| 欧美电影影音先锋| 成人免费视频播放| 狂野欧美性猛交blacked| 亚洲欧美国产77777| 精品国产三级电影在线观看| 一本大道av伊人久久综合| 精品一区二区三区在线播放| 亚洲一区二区精品3399| 国产三级精品三级| 91麻豆精品国产无毒不卡在线观看 | 欧洲亚洲精品在线| 成人综合激情网| 精品亚洲成a人在线观看| 亚洲成av人片在www色猫咪| 国产精品丝袜在线| 欧美大胆人体bbbb| 欧美日精品一区视频| 99久久精品国产导航| 丝袜美腿亚洲一区二区图片| 一区二区三区精品在线| 中文字幕在线不卡| www国产成人免费观看视频 深夜成人网 | 欧美一区二区三区思思人| 在线影视一区二区三区| 风间由美一区二区av101| 久久99久久久久| 视频在线观看91| 天天综合网 天天综合色| 一区二区三区蜜桃| 亚洲精品国产a| 亚洲女同女同女同女同女同69| 久久精品在线免费观看| 26uuu精品一区二区| 精品久久久三级丝袜| 日韩午夜激情免费电影| 3atv在线一区二区三区| 欧美日韩在线电影| 欧美久久一区二区| 555www色欧美视频| 6080亚洲精品一区二区| 日韩一区二区免费视频| 91精品综合久久久久久| 69精品人人人人| 欧美sm极限捆绑bd| www久久精品| 国产日韩精品一区二区三区在线| 久久综合久久综合久久综合| 国产亚洲欧美中文| 国产精品免费视频一区| 1024国产精品| 一区二区三区在线观看欧美| 一区二区视频在线看| 亚洲午夜免费视频| 免费观看一级欧美片| 韩国一区二区视频| 成人综合在线观看| 色综合久久88色综合天天 | 久久久亚洲精品一区二区三区| 精品国产免费视频| 欧美激情中文不卡| 亚洲综合激情小说| 日本成人在线不卡视频| 韩国av一区二区| 99在线精品观看| 欧美福利视频一区| 国产午夜久久久久| 亚洲美女免费视频| 免费人成精品欧美精品| 国产成人在线视频网址| 一本在线高清不卡dvd| 91精品欧美福利在线观看| 精品国产三级电影在线观看| 1区2区3区国产精品| 青青青爽久久午夜综合久久午夜| 国产精品一区二区三区99| 日本高清无吗v一区| 日韩美女视频在线| 国产精品国产三级国产aⅴ原创 | 日韩一级二级三级| 国产精品久久久久影院| 午夜精品国产更新| 国产精品1区2区3区| 欧美丝袜丝nylons| 国产日韩精品久久久| 婷婷综合在线观看| 国产激情偷乱视频一区二区三区| 91官网在线观看| 久久久蜜臀国产一区二区| 亚洲资源中文字幕| 国产精品1区2区| 欧美一区中文字幕| 亚洲欧美日韩国产成人精品影院| 久久机这里只有精品| 在线免费观看一区| 中文乱码免费一区二区| 免费成人深夜小野草| 欧美性猛片aaaaaaa做受| 欧美国产成人在线| 美日韩一区二区| 欧美午夜片在线看| 亚洲伦理在线免费看| 国产激情一区二区三区四区| 日韩欧美一二区| 亚洲国产日日夜夜| 色国产精品一区在线观看| 国产日产欧美一区二区视频| 久久精品久久99精品久久| 欧美精品色一区二区三区| 中文字幕在线一区二区三区| 国产精品一二二区| 久久一日本道色综合| 免费在线观看成人| 91精品国产一区二区人妖| 亚洲国产美国国产综合一区二区| a亚洲天堂av| 国产精品盗摄一区二区三区| 高清视频一区二区| 久久久99精品久久| 国产精品亚洲а∨天堂免在线| 欧美精品一区二区三区在线播放| 日本va欧美va瓶| 欧美一三区三区四区免费在线看 | 91精品国产入口| 秋霞国产午夜精品免费视频| 7777精品伊人久久久大香线蕉完整版| 亚洲不卡av一区二区三区|