我正在使用mac os x。我正在尝试构建一个在存储服务器上工作的cocoa应用程序(类似于Dropbox),无论何时添加,删除文件都会执行某些操作。我已经在mac上安装了一个客户端应用程序,显示存储在其上的所有文件服务器和我需要监听服务器用来向应用程序发送更改通知的端口。我已经开始关注套接字的一些教程,但我得到了#34;地址已经在使用"。
问题:套接字是监听端口的唯一方法吗?如果有,是否有办法构建套接字以侦听已有的服务器/客户端连接?
答案 0 :(得分:0)
如果进程已在侦听端口,则没有其他进程可以绑定(2)该端口。替代方案包括让代理侦听该端口以处理事件然后将其传递到其他地方(客户端应用程序可能无法很好地解决此问题),或使用防火墙规则将数据包复制到应用程序的其他端口然后会监听,或者客户端应用程序会发出可以对其执行操作的通知。
https://github.com/thrig/lognots
是检查可用通知的一种方法。
答案 1 :(得分:0)
请记住,侦听端口是您准备接收传入连接的方式。接收数据是不 - 一旦建立连接,数据就可以双向流动!客户端应用程序几乎不适合侦听端口;这通常只适用于服务器应用程序。
考虑到这一点:您的客户端应用程序应连接到服务器上的端口,服务器将根据需要将数据发送到客户端。