下面的代码是TCP客户端的套接字编程示例。
但当我运行该操作时,connect()作为协议不支持的地址族返回。
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int
main(){
struct sockaddr_in server;
int sock;
char buf[32];
int n;
sock = socket(AF_INET,SOCK_STREAM,0);
perror("socket");
server.sin_family = AF_INET;
server.sin_port = htons(12345);
inet_pton(AF_INET,"127.0.0.1",&server,sizeof(server));
connect(sock,(struct sockaddr *)&server,sizeof(server));
perror("connect");
memset(buf,0,sizeof(buf));
n = read(sock,buf,sizeof(buf));
perror("read");
printf("%d,%s\n",n,buf);
close(sock);
return 0;
}
代码将错误的目标地址和错误数量的参数传递给inet_pton()
。(对于后者,编译器应该提醒您注意,顺便说一句)
这一行
inet_pton(AF_INET, "127.0.0.1", &server, sizeof(server));
应该是
inet_pton(AF_INET, "127.0.0.1", &server.sin_addr);
int n;
[...]
printf("%d, %s\n", n, buf);
成为:
ssize_t n;
[...]
printf("%zd, %s\n", n, buf);
问题内容: 在android中,我收到以下错误: NativeStart.main(String [])行:不可用[本机方法] 我的代码正在尝试使用Web服务: 我的程序正在连接到互联网…。但是它在下面的行中引发异常: 并且异常messege为NULL。传递的所有参数都是正确的。AndroidManifest.xml也可以。 在Log Cat中,我遇到以下异常:java.net.SocketExc
问题内容: 在我编写的一个应用程序中,我在特定计算机上有一个 **java.net.SocketException** : java.net.SocketException:协议族不支持的地址族:connect 这台特定的计算机运行Windows 7 32位,并通过本地连接(Ethernet)连接到Internet。该应用程序可在其他通过Windows 7和Windows 8通过本地连接或Wi-
WorkerMan在接口上支持各种协议,只要符合ConnectionInterface接口即可(参见定制通讯协议章节)。 为了方便开发者,WorkerMan提供了HTTP协议、WebSocket协议以及非常简单的Text文本协议、可用于二进制传输的frame协议。开发者可以直接使用这些协议,不必再二次开发。如果这些协议都不满足需要,开发者可以参照定制协议章节实现自己的协议。 开发者也可以直接基于t
我们正在编写一个应用程序,它必须使用HTTPS与几个服务器通信。它需要与AWS通信(使用AWS库),还需要与我们使用TLS1.2的一些内部服务通信。 我首先将HttpClient更改为使用TLS1.2SSLContext: 并且(通过spring)将这个SchemeRegistry注入到DefaultHttpClient对象中,但是这样做会从AWS得到错误,因此我假设(我可能错了)AWS不支持TL
Sphinx的searchd守护程序从 版本0.9.9-rc2开始支持MySQL二进制网络协议,并且能够通过标准的MySQL API访问。例如,“mysql”命令行程序可以很好地工作。以下是用MySQL客户端对Sphinx进行查询的例子: $ mysql -P 9306 Welcome to the MySQL monitor. Commands end with ; or \g. Your M