gpt4 book ai didi

ios - 快速进行网络编程?

转载 作者:行者123 更新时间:2023-11-29 02:29:44 26 4
gpt4 key购买 nike

如何在 swift 中创建套接字?我是 swift 的新手,但我听说您可以将 Swift 代码与 Objective C 和 C 代码一起使用。这个说法有多准确?在 C 中,我会做这样的事情,所以我可以将这个 C 代码添加到一个 swift 函数中吗?

// 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);
}

或者在 swift 中是否有首选的表示法?我真的没能在谷歌上找到很多关于它的信息。如果可能的话,我也很高兴被指点为一些阅读 Material 。谢谢

最佳答案

您可以从这里开始阅读有关 CFNetwork 的信息: https://developer.apple.com/library/mac/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html

或者您可以像这样使用第三方库: https://github.com/swiftsocket/SwiftSocket并阅读代码以了解 ytcpsocket.c 是如何在 BSD 套接字库之上实现的。

关于ios - 快速进行网络编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27052946/

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