Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error that create the remote face with "nfdc face create remote tcp4://X.X.X.X:6363 #43

Closed
haowaiwai opened this issue Sep 26, 2022 · 5 comments
Assignees

Comments

@haowaiwai
Copy link

The reason seems to be the remote YaNFD side. The TCP listener considers the remote URI of the new face as an UDP face (with RemoteURI=udp4://XX:6363, LocalUI=tcp4://XX:6363), and thus it is unable to maintain the connection.
I will investigate this problem but I'm not sure when I can fix it. If you are willing to, please open an issue on GitHub.

from the intranet:
nfdc face create remote tcp://120.53.13.74:6363
Error 406 when creating face: Transport error

the remote yanfd log:
WARN[0481] [FaceMgmt] Unable to create unicast TCP face with URI tcp4://120.53.13.74:6363:Unable to connect to remote endpoint: dial tcp4 :6363->120.53.13.74:6363: bind: address already in use

@zjkmxy zjkmxy self-assigned this Sep 26, 2022
@zjkmxy zjkmxy closed this as completed in b50074d Sep 29, 2022
@zjkmxy
Copy link
Member

zjkmxy commented Sep 29, 2022

I have tested between Windows 11 and a Mac OS. Succeeded with python-ndn/example consumer.py and producer.py.
Please let me know if the problem has not been solved.

@haowaiwai
Copy link
Author

I think the problem has not been fixed, we meet the problem between Linux and Linux server,Failed with nfdc/C++,the command of "nfdc face create remote tcp://x.x.x.x:6363".

@zjkmxy zjkmxy reopened this Sep 30, 2022
@Pesa
Copy link
Member

Pesa commented Sep 30, 2022

is yanfd setting SO_REUSEADDR on the socket?

@zjkmxy
Copy link
Member

zjkmxy commented Sep 30, 2022

is yanfd setting SO_REUSEADDR on the socket?

Yes:

listenConfig := &net.ListenConfig{Control: impl.SyscallReuseAddr}

But I think he is using two machines for test, so this shouldn't be the problem.

@zjkmxy zjkmxy closed this as completed in a3a292a Oct 1, 2022
@zjkmxy
Copy link
Member

zjkmxy commented Oct 1, 2022

The original code tried to specify the local TCP port number in connect(), which causes problem in Linux.
Now I removed that argument and tested it on a Ubuntu 22.04 Docker. Should working now.

zjkmxy added a commit to zjkmxy/YaNFD that referenced this issue Feb 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants