Open delinage opened 3 years ago
What about using the example programs which are provided? Do they work? Are you using NAT or virtual machines? @weinrank Is there anything special on Windows when using raw sockets?
If I use examples such as the http_client, it works in Windows if I write enough arguments to use UDP encapsulation but it does not work if I write just the arguments necessaries to work without UDP encapsulation... I do not understand this "necessity of encapsulation" in Windows.
I am using a windows computer with the client and server in the same machine and I can't see the SCTP init messages if I do not choose encapsulation. I have also tried through NAT to connect to my actual server and it is the same, no init messages if I do not want them encapsulated.
@weinrank might know if there is anything special to do for using raw sockets on Windows. Without UDP encapsulation I would avoid middleboxes like NATs or firewalls unless they support SCTP. Do you have any sort of firewall or security software running on Windows which limits non-UDP and non-TCP traffic?
I disabled both antivirus and windows firewall and I have not any special additional security software. I understand avoiding middleboxes and NATs but I am not even getting SCTP INIT messages without encapsulation locally in windows (server and client in the same machine) while if I do that on Linux (server and client in the same machine) it works like a charm...
usrsctp requires the ability to open RAW sockets which cannot be done on windows without administrator privileges. I agree that this is a major limitation, but there's nothing that can really be done about it...
I'm curious what your use-case for SCTP is though. I think it is more common to encapsulate SCTP traffic with some other transport, which can be done by assigning a write callback with usrsctp_init() (this captures all outgoing traffic and lets you send it through some other means) and assigning a read callback with usrsctp_socket() (which captures all inbound traffic on a socket). Using these features you can create your own encapsulation which is quite handy if for example you are writing a webrtc implementation and need some way to pipe SCTP through D/TLS and then onto UDP/TCP...
Hello,
I'm trying to use ursctp in windows but I'm having multiple issues.
The first one is the fact that I can only send SCTP messages if I encapsulate them on UDP. For instance, if I use this code in Linux, I can capture SCTP messages on wireshark (and connect to my server) but if I use it on windows (same code and the library compiled with no errors) I can't see any SCTP messages on wireshark (and I cannot connect to my server).
One can argue the correctness of this code but the thing that I do not understand is why does this code work over linux but not over Windows.
I have other problem regarding the sending of encapsulated packets on windows but I assume I better explain it in other issue.