小编Ido*_*dar的帖子

TCP Winsock:接受多个连接/客户端

我试图将客户端倍增,并将其发送给每个客户端.但它只适用于一个,在一个客户端连接服务器后,只是无法用于传入连接.

while(true)
{
    if(Sub = accept(Socket, (sockaddr*)&IncomingAddress, &AddressLen))
    {
        for(int i = 0; i < MaxUsers; i++)
        {
            if(!ClientAddress[i].sin_family)
            {
                ClientAddress[i] = IncomingAddress;
                char Version[128], Dir[256], Path[256], URL[128], Message[256];
                GetCurrentDirectory(256, Dir);
                sprintf(Path, "%s\\Version.ini", Dir);
                GetPrivateProfileString("Default", "Version", "1.0.0.0", Version, 128, Path);
                GetPrivateProfileString("Default", "URL", "", URL, 128, Path);
                GetPrivateProfileString("Default", "Message", "", Message, 256, Path);
                send(Sub, Version, 128, 0);
                send(Sub, Message, 256, 0);
                break;
            }
        }
        continue;

    }
}
Run Code Online (Sandbox Code Playgroud)

c++ sockets winapi tcp winsock2

2
推荐指数
2
解决办法
1万
查看次数

复选框更改文本颜色

背景改变了,但文字颜色没有改变.我的代码:

case WM_CTLCOLORSTATIC:
{
    DWORD CtrlID = GetDlgCtrlID((HWND)lParam); //Window Control ID

    if(CtrlID == IDC_CHECK_CHAT)
    {
        HDC hdcStatic = (HDC) wParam;
        SetTextColor(hdcStatic, RGB(255,255,255));
        SetBkColor(hdcStatic, RGB(70,70,70));
        return (INT_PTR)hBrush;
    }
}
Run Code Online (Sandbox Code Playgroud)

资源文件:

CONTROL         "Blah Blah Blah",IDC_CHECK_CHAT,
                "Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,72,137,10
Run Code Online (Sandbox Code Playgroud)

c++ winapi win32gui

1
推荐指数
1
解决办法
2313
查看次数

C ++ Winsock发送文件

我可以发送文件的简单服务器和客户端,并且我需要你们看看此源是否已完成。因为我认为它不会下载完整文件。

也许对此来源有限制?因为我上传/下载了200K,还有更多..

服务器:

#include <WinSock2.h>
#include <Windows.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

SOCKET Socket, Sub;
WSADATA Winsock;
sockaddr_in Addr;
int Addrlen = sizeof(sockaddr_in);
char Buffer[256];
char *Str;
sockaddr_in IncomingAddress;
int AddressLen = sizeof(IncomingAddress);

int main()
{
    WSAStartup(MAKEWORD(2, 2), &Winsock);    // Start Winsock

    if(LOBYTE(Winsock.wVersion) != 2 || HIBYTE(Winsock.wVersion) != 2)    // Check version
    {
        WSACleanup();
        return 0;
    }

     Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

    ZeroMemory(&Addr, sizeof(Addr));
    Addr.sin_family = AF_INET;
    Addr.sin_port = htons(6091);  
    bind(Socket, (sockaddr*)&Addr, sizeof(Addr));

    if(listen(Socket, 1) == SOCKET_ERROR)
    {
        printf("listening error\n"); …
Run Code Online (Sandbox Code Playgroud)

c++ sockets winapi winsock winsock2

-1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×3

winapi ×3

sockets ×2

winsock2 ×2

tcp ×1

win32gui ×1

winsock ×1