मैं अपने डेस्कटॉप ऐप को सी और सी ++ में वेबसाइब्स प्लेटफॉर्म पर पोर्ट करने की कोशिश कर रहा हूं और यदि यह संभव हो तो जांच कर रहा हूं। ऐप करता है महत्वपूर्ण चीजों में से एक यूडीपी संदेशों को भेज और प्राप्त करके संवाद करता है। मैंने न्यूनतम यूडीपी क्लाइंट लागू किया है जो यूडीपी सॉकेट बनाता है और सर्वर पर पैकेट भेजता है (जो मूल रूप से निर्मित होता है और उसी मशीन पर अलग निष्पादन योग्य के रूप में चल रहा है)। सॉकेट, बाइंड और एपीआई भेजने के लिए कोई त्रुटि नहीं आती है और सबकुछ काम करता दिखता है लेकिन सर्वर की तरफ कोई संदेश नहीं मिल रहा है और वायरसहार्क उस बंदरगाह पर कोई गतिविधि नहीं दिखाता है।वेबसाइब्स पर यूडीपी सॉकेट
क्या यूडीपी सॉकेट वेबसाइब्स libc पोर्ट पर बस stubbed है, या यह कुछ वेब मानक कनेक्शन (जैसे वेबआरटीसी) के शीर्ष पर लागू किया गया है?
ग्राहक कोड नीचे है। मैंने जांच की कि मूल निर्माण ठीक से काम कर रहा है।
#include <stdlib.h>
#include <string.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#define BUFLEN 512
#define NPACK 100
#define PORT 9930
void diep(char *s)
{
perror(s);
exit(1);
}
#define SRV_IP "127.0.0.1"
int main(void)
{
struct sockaddr_in si_other;
int s, i, slen=sizeof(si_other);
char buf[BUFLEN];
if ((s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1)
diep("socket");
memset((char *) &si_other, 0, sizeof(si_other));
si_other.sin_family = AF_INET;
si_other.sin_port = htons(PORT);
if (inet_aton(SRV_IP, &si_other.sin_addr)==0) {
fprintf(stderr, "inet_aton() failed\n");
exit(1);
}
for (i=0; i<NPACK; i++) {
printf("Sending packet %d\n", i);
sprintf(buf, "This is packet %d\n", i);
if (sendto(s, buf, BUFLEN, 0, (struct sockaddr*)&si_other, slen)==-1)
diep("sendto()");
}
close(s);
return 0;
}
मैं का निर्माण और इसे चलाने के लिए http://webassembly.org/getting-started/developers-guide/ से निर्देशों का पालन किया।
किसी भी मदद या सुराग के लिए अग्रिम धन्यवाद!
गीलेर वायरशर्क लूपबैक इंटरफ़ेस पर पैकेट कैप्चर करने में सक्षम है (यानी एक ही मशीन पर पैकेट भेजना) प्लेटफार्म और पैकेट स्निफर इंटरफ़ेस के आपके चयन पर निर्भर करता है। विंडोज + winpcap पर, उदाहरण के लिए, यह संभव नहीं है। आप किस मंच पर हैं? – tofro
हां, मैं विंडोज़ पर हूं, और मैं सर्वर को मशीन बनाने की कोशिश करूंगा। धन्यवाद! – roof
मैंने दूरस्थ होस्ट को पैकेट भेजने की कोशिश की है। अब वायरसहार्क आउटगोइंग पैकेट दिखाता है यदि मैं मूल रूप से निर्मित क्लाइंट ऐप चलाता हूं और वेबसाइब्स बिल्ड के लिए कुछ भी नहीं दिखाता है। – roof