小编ano*_*non的帖子

列表中的多个对象,C#

我正在寻找类似的东西List<T>,这将允许我有多个T.例如:List<TabItem, DataGrid, int, string, ...> = new List<TabItem, DataGrid, int, string, ...>().

c# wpf list

5
推荐指数
2
解决办法
5372
查看次数

客户端连接的多个套接字

是否可以在一个程序中拥有多个套接字,可以通过 TCP 或 UDP 使用?

例如: SocketOne:4567端口的TCP套接字;socketTwo:8765 端口的 TCP 套接字;socketThree:7643 处的 UDP 套接字。

这些系列将是 AF_INET,每个系列的地址都是 INADDR_ANY。

我绑定并监听 TCP,只绑定 UDP。

让我怀疑要这样做的是,我如何一起等待每个套接字上的客户端。

我知道下面的代码不起作用,但我不知道还有什么,或如何解释我想说的话。

while (1)  
{   
    connected = accept(socketOne, (struct sockaddr *)&client_addr,&sin_size);

    connected = accept(socketTwo, (struct sockaddr *)&client_addr,&sin_size);

    bytes_read = recvfrom(socketThree,recv_data,1024,0,(struct sockaddr *)&client_addr, &addr_len);

}
Run Code Online (Sandbox Code Playgroud)

c sockets winsock

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

使用select()函数在C语言中进行套接字编程

根据我从这个帖子得到的答案,我创建了这个:

    //Server 

    sock_init(); //from SFL, see http://legacy.imatix.com/html/sfl/

    timeout = 50000;

    serv_sock_input[0] = TCP(1234); 
    serv_sock_input[1] = UDP(9876);

    input_protocols[0] = "tcp";
    input_protocols[1] = "udp";

    while (1)
    {
        FD_ZERO(&sock_set);
        for (x = 0; x<number_of_inputs; x++)
        {
            FD_SET(serv_sock_input[x], &sock_set);
        }

        select_timeout.tv_sec = timeout;
        select_timeout.tv_usec = 0;

        if (select(0, &sock_set, NULL, NULL, &select_timeout) == 0)
            printf("No requests");
        else
        {
            for (x = 0; x<number_of_inputs; x++)
            {
                if (FD_ISSET(serv_sock_input[x],&sock_set))
                {
                    printf("\nRequest on port %d: \n", x);
                    if ((strcmp(input_protocols[x],"tcp")) == 0) //in this case, 0 …
Run Code Online (Sandbox Code Playgroud)

c sockets posix-select

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

标签 统计

c ×2

sockets ×2

c# ×1

list ×1

posix-select ×1

winsock ×1

wpf ×1