如何快速创建套接字?我对斯威夫特很陌生,但我听说你可以在目标C和C代码的同时使用swift代码。这个说法有多准确?在C语言中,我会这样做,所以我可以将这个C代码添加到一个快速函数中吗?
// get server ip from server name
if ((he = gethostbyname(host)) == NULL) {
die("gethoatbyname failed");
}
char *serverIP = inet_ntoa(*(struct in_addr *)he->h_addr);
// create socket
if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
die("socket failed");
}
// construct server address
memset(&hostAddr, 0, sizeof(hostAddr));
hostAddr.sin_family = AF_INET;
hostAddr.sin_addr.s_addr = inet_addr(serverIP);
hostAddr.sin_port = htons(mdbServPort);
// connect
if (connect(sock, (struct sockaddr *)&hostAddr, sizeof(hostAddr)) < 0) {
die("connect failed);
}
FILE *Socket;
if ((Socket = fdopen(sock, "r")) == NULL) {
die("fdopen failed);
}还是有斯威夫特的首选表示法?我并没有在谷歌上找到很多关于它的信息。如果可能的话,我也希望有人能给我指点阅读。谢谢
发布于 2015-11-24 11:09:10
您可以在这里开始阅读CFNetwork:https://developer.apple.com/library/mac/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html
或者您可以使用这样的第三方库:https://github.com/swiftsocket/SwiftSocket并阅读代码,查看ytcpsocket.c是如何在BSD库之上实现的。
https://stackoverflow.com/questions/27052946
复制相似问题