It works only in one direction : it connect to the server, send data to the server(and server received it), but can not receive from the server, no data received. Receive code as follows( it works with IPv4, but not IPv6 address the prefix "64:ff9d::"):
socket.BeginReceive(m_rcvBuff, m_rcvBuffEnd, RCV_BUFF_SIZE -m_rcvBuffEnd, SocketFlags.None, new AsyncCallback(ReceivedDataCallback), m_testSocket);
The mono version for 5.6.6 is probably too ancient to support IPv6. Did you try making an il2cpp macOS and test if it works? You may need to update to a modern Unity version.
The IPv6 rejection by Apple actually doesn’t have anything to do with IPv6, it’s just boilerplate text saying they tested on a IPv6 network, and is quite misleading. Ask them the real reason for the rejection.
Hi, we have looked into data sent back to google analytics and assured that Apple tested under IPv6 environment and we cannot received data from server. (But server can actually receive data from client)
Above that, websocket and HTTP connect are all fine, just plain TCP socket connection facing this problem