如果我知道目的地的IP地址和端口号,我可以发送数据包吗?

时间:2011-05-04 02:32:54

标签: iphone networking

我正在尝试创建一个iPhone P2P应用程序。如果我知道某人的IP地址和端口号(我将使用固定的端口号),那么我可以向该人发送一个数据包,无论该人所属的网络和该人使用的ISP公司是谁?

基本上,我将设置一个集中式服务器,用户将更新其IP地址(我将使用固定端口号)更新到服务器。如果我想向某人发送内容,那么我可以从服务器获取该人的IP地址并创建一个套接字并通过套接字发送我想要的内容...

我想知道如果我不得不考虑别的......

提前致谢

4 个答案:

答案 0 :(得分:1)

是的,这就是互联网地址方案的全部概念。

答案 1 :(得分:1)

这里有一些你需要考虑的事情。

  1. 无论如何,这个人所属的网络和ISP都不是问题(当然除非有一些奇怪的包过滤等)
  2. 在您的情况下,服务器将是您自己的服务器(我们将其称为serverX)。服务器不连接到它们连接到服务器的客户端(iosA,iosB等)。
  3. 这会带来:客户端的ip和端口对你来说无关紧要(最不可能是这个)
  4. 您的客户可以从服务器提取信息(使用无数的库或技术,我建议ASIHttpRequest)或服务器可以通过通知服务推送

答案 2 :(得分:0)

是的,你可以。但如果设备通过Wi-Fi连接,它可能位于防火墙后面。并且该防火墙可能需要端口转发。

答案 3 :(得分:0)

我强烈推荐Cocoa Async Socket。它是第三方开源项目。 https://github.com/robbiehanson/CocoaAsyncSocket

网站上还有一些基本的示例项目可以帮助您入门。我在使用这个框架方面有很棒的经验。

你也可以查看:http://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.html 它是标准的CFNetwork教程和指导。