【发布时间】:2015-09-04 14:35:30
【问题描述】:
我声明我是 C 的初学者。 我正在用C写一个服务器,我的代码如下:
int main(int argc, char **argv)
{
ds_socket = socket(AF_INET,SOCK_STREAM,0);
if(ds_socket == -1)
errore_exit("creation socket");
struct sockaddr_in server;
struct sockaddr client;
//set sockadrr_in
server.sin_family = AF_INET;
server.sin_port = htons(9999);
server.sin_addr.s_addr = INADDR_ANY;
//binding
if(bind(ds_socket, &server,sizeof(server)) == -1)
errore_exit("binding");
if(listen(ds_socket,1000) == -1)
errore_exit("listen");
client_socket = accept(ds_socket,&client,&(sizeof(client)));
if(client_socket == -1)
errore_exit("accept");
}
在设置结构服务器时,我使用了一个任意端口号(9999),但我想以这种方式实现它:服务器在使用绑定为套接字分配地址之前向用户询问端口号。用户输入键盘端口号,服务器保存在变量“端口”中,然后将其传递到结构的设置中。
我无法做到刚刚描述的最后一部分:有人可以帮助我吗?
【问题讨论】:
-
有什么困难?
scanf()的 RTFM -
如何阅读用户的输入应该很早就出现在任何书籍或教程中。你以前没做过吗?
-
闻起来像作业......
-
您真正的问题与网络无关,因此我删除了此类标签。我也相应地更改了标题。