0

这是场景:

我在 Linux 中使用 telnet 实用程序连接到服务器。建立连接后,客户端应输入参数,服务器应读取该参数。

这是服务器代码:

int main(void)
{
int new_fd;
char *string;
// Establish the connection

if (send(new_fd, "Enter Command: ", 15, 0) == -1)
            perror("send");  

// Here I want to accept the argument from the server
return 0;
}

当我使用 telnet 进入服务器时:telnet servername portnumber 客户端接收:Enter Command:我想在其前面输入参数。例如Enter Command: Hey There!

我要做的就是Hey There!将其读取存储在string服务器上并打印出来。我怎样才能做到这一点?

4

1 回答 1

2

要通过套接字接收任何内容,您需要调用recv并检查,只要返回值大于 0,您就可以将传入数据写入您希望的任何位置。

 ssize_t recv(int sockfd, void *buf, size_t len, int flags);

这些调用返回接收到的字节数,如果发生错误,则返回 -1。当对端执行了有序关闭时,返回值将为 0。

从这里

于 2012-09-20T07:39:30.453 回答