gpt4 book ai didi

c - 向套接字 C 发送消息

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:49 27 4
gpt4 key购买 nike

我对套接字编程完全陌生。现在我只是在尝试我发现的随机东西。所以我有这个程序(下面的代码)使用 csapp.hcsapp.c,特别是 open_clientfd(hostname, port) 函数, 和 RIO IO 打印出你输入的任何内容。

https://github.com/tlozoot/cs-262-bank-protocol/blob/master/csapp.c

好吧,当我尝试运行程序 ./prog www.google.com 80(我什至不确定主机名和端口)时,它打印出奇怪的东西然后停止。

预期输出:

Enter message:abc
Echo:abc

实际输出:

Enter message:abc
Echo:HTTP/1.0 400 Bad Request

下面是我的代码:

int main(int argc, char **argv)
{
int clientfd, port;
char *host, buf[MAXLINE];
rio_t rio;
host = argv[1]; port = atoi(argv[2]);

clientfd = Open_clientfd(host, port);

Rio_readinitb(&rio, clientfd);
printf("Enter message:"); fflush(stdout);

while (Fgets(buf, MAXLINE, stdin) != NULL) {
Rio_writen(clientfd, buf, strlen(buf));
Rio_readlineb(&rio, buf, MAXLINE);

printf("Echo:");

Fputs(buf, stdout);
printf("Enter message:");

fflush(stdout);
}

Close(clientfd);
exit(0);
}

我还有一个问题。我如何将这样的东西发送到套接字?

GET /index.html HTTP/1.1\r\n
Host: www.google.com\r\n
\r\n

最佳答案

看起来你做得对:

telnet www.google.com 80
Trying 173.194.123.19...
Connected to www.google.com.
Escape character is '^]'.
message abc
HTTP/1.0 400 Bad Request

关于c - 向套接字 C 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839382/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com