0

如何将接受的套接字作为参数发送到函数这里是代码:

//accept connection 
accept_sock = accept(sock_con,(struct sockaddr *)&info,&sizeof_accept);

//Create a new process
int pid = fork();
 if (pid == 0)
   {

    //close the socket
    close(sock_con);
    request_handle(accept_sock);   ** here i wanna send the socket to that function*
    }    

声明此函数时该套接字的数据类型是什么?

function request_handle(what is the datatype pointed here){

}
4

3 回答 3

1

accept_sock 是一个整数。请参阅 manpage 以获取accept

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

于 2012-05-05T07:45:00.687 回答
0
function request_handle(int socket);

套接字文件描述符是与内核中打开的套接字相关联的整数,用于区分每个套接字,就像文件描述符是整数,用于区分打开的文件并获取适当的文件一样,有人说 Unix 中的所有内容都是文件,这是因为相关的整数或文件描述符的概念。

于 2012-05-05T07:50:19.673 回答
0

套接字通常是一个句柄intunsigned int取决于实现),当您将其作为参数传递给send recvetc 时,套接字 dll 将使用它来唯一标识您所指的套接字。

所以你只需要这样做:

function request_handle(int socketHandle){

}
于 2012-05-05T08:25:12.870 回答