⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ircommon.c

📁 windows 网络编程。pdf文档
💻 C
字号:
// Module Name: Ircommon.c
//
// Description:
//    This file contains two simple functions, one for sending
//    data on a connected socket and the other for receiving.
//    These two functions are common to both client and server
//    so they were pulled out into a seperate file.
//
// Compile:
//    cl /c Ircommon.c
//
#ifdef _WIN32_WCE
#include <windows.h>
#include <winsock.h>
#else
#include <winsock2.h>
#endif

#include "ircommon.h"

int senddata(SOCKET s, char *buf, int *len)
{
    int        ret,
               index=0,
               slen;
    DWORD      dwErr;
 
    slen = *len;
    while (len > 0)
    {
        ret = send(s, &buf[index], slen, 0);
        if (ret == SOCKET_ERROR)
        {
            if ((dwErr = WSAGetLastError()) != WSAEWOULDBLOCK)
            {
                return dwErr;
            }
        }
        else if (ret == 0)
        {
            *len = 0;
            return 0;
        }
        slen -= ret;
        index += ret;
    }
    *len = index;
    return 0;
}

int recvdata(SOCKET s, char *buf, int *len)
{
    int        ret,
               index=0;
    DWORD      dwErr;

    ret = recv(s, buf, *len, 0);
    if (ret == SOCKET_ERROR)
    {
        if ((dwErr = WSAGetLastError()) != WSAEWOULDBLOCK)
        {
            return dwErr;
        }
        else if (ret == 0)
        {
            *len = 0;
            return 0;
        }
    }
    *len = ret;
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -