通过使用BlueSocket框架并在Mac和IOS之间连接,获得"错误代码:-9989(0x-2705(,连接被拒绝">的错误。
逻辑如下:
我将 Mac 视为服务器:
// making TCP IPV4 socket
try self.listenSocket = Socket.create(family: .inet, type: .stream, proto: .tcp)
// start lisening port of 8888
try socket.listen(on: self.port)
// accept client connection when there is
let newSocket = try socket.acceptClientConnection()
// keep opening and reading data ....
iPhone作为客户端:
self.socket = try Socket.create(family: .inet)
try self.socket?.connect(to: ip, port: 8888)
try self.socket?.setReadTimeout(value: readWriteTimeOut)
try self.socket?.setWriteTimeout(value: readWriteTimeOut)
self.socket?.readBufferSize = Socket.SOCKET_MAXIMUM_SSL_READ_BUFFER_SIZE
- 客户端首次与服务器连接工作正常。
- 服务器收到数据后,客户端会自动关闭套接字。
- 客户端尝试使用上述相同代码再次连接服务器以发回数据。 然后显示错误!
我认为默认情况下,当服务器端使用socket.listen
时,它SO_REUSEADDR
设置为true
需要有关如何解决此问题的建议。谢谢!
只需要确保 while 循环socket.acceptClientConnection()
一直打开......