以下是该方案:
我在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 servername portnumber
客户端收到:Enter Command:
,我想在其前面键入参数。
例如Enter Command: Hey There!
我想要做的就是阅读Hey There!
将其存储在string
服务器上并打印出来。我怎样才能做到这一点?
答案 0 :(得分:2)
要通过套接字接收任何内容,您需要调用recv
并检查只要返回值大于0,就可以将传入数据写入您想要的任何位置。
ssize_t recv(int sockfd, void *buf, size_t len, int flags);
这些调用返回接收的字节数,如果发生错误则返回-1。当对等体执行有序关闭时,返回值将为0。