क्या कोई मुझे बता सकता है कि यूडीपी सॉकेट में स्रोत पोर्ट पता कैसे सेट करें? मेरे क्लाइंट एप्लिकेशन को 57002 पोर्ट से पैकेट भेजने के लिए सर्वर पोर्ट 58007 पर भेजने की आवश्यकता है।सी में यूडीपी सॉकेट में स्रोत पोर्ट कैसे सेट करें?
8
A
उत्तर
2
bind(2)
यह। INADDR_ANY
पता और अपना पोर्ट नंबर उपयोग करें।
0
struct sockaddr_in sa;
int ret, fd;
memset(&sa, 0, sizeof(struct sockaddr_in));
sa.sin_family = AF_INET;
sa.sin_port = htons(LOCAL_PORT);
sa.sin_addr.s_addr = inet_addr(LOCAL_IP_ADDRESS);
ret = bind(fd, (struct sockaddr *)&sa, sizeof(struct sockaddr));
0
struct sockaddr_in servaddr,cliaddr;
sockfd=socket(AF_INET,SOCK_DGRAM,0);
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr=inet_addr(argv[1]);
servaddr.sin_port=htons(32000); //destination port for incoming packets
cliaddr.sin_family = AF_INET;
cliaddr.sin_addr.s_addr= htonl(INADDR_ANY);
cliaddr.sin_port=htons(33000); //source port for outgoing packets
bind(sockfd,(struct sockaddr *)&cliaddr,sizeof(cliaddr));
use sendto with servaddr
use recvfrom with cliaddr
if u check wireshark u will see source port as 33000 and destination port as 32000 for sendto operation
8
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define DST_PORT 58007
#define SRC_PORT 57002
#define IP "127.0.0.1"
int main(int argc, char *argv[]) {
struct sockaddr_in addr, srcaddr;
int fd;
char message[] = "Hello, World!";
if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror("socket");
exit(1);
}
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(IP);
addr.sin_port = htons(DST_PORT);
memset(&srcaddr, 0, sizeof(srcaddr));
srcaddr.sin_family = AF_INET;
srcaddr.sin_addr.s_addr = htonl(INADDR_ANY);
srcaddr.sin_port = htons(SRC_PORT);
if (bind(fd, (struct sockaddr *) &srcaddr, sizeof(srcaddr)) < 0) {
perror("bind");
exit(1);
}
while (1) {
if (sendto(fd, message, sizeof(message), 0, (struct sockaddr *) &addr,
sizeof(addr)) < 0) {
perror("sendto");
exit(1);
}
sleep(1);
}
return 0;
}
संबंधित मुद्दे
- 1. सॉकेट सेट स्रोत पोर्ट नंबर
- 2. सी ++ यूडीपी सॉकेट पोर्ट मल्टीप्लेक्सिंग
- 3. यूडीपी सॉकेट सेट टाइमआउट
- 4. यूडीपी सॉकेट
- 5. सी # यूडीपी सॉकेट: रिसीवर पता प्राप्त करें
- 6. उसी पोर्ट सॉकेट सी ++
- 7. मैं सी में प्रेषक का यूडीपी पोर्ट कैसे प्राप्त करूं?
- 8. , यूडीपी पोर्ट स्कैनिंग कैसे प्राप्त करें?
- 9. यूडीपी सॉकेट
- 10. एंड्रॉइड में यूडीपी सॉकेट का उपयोग कैसे करें?
- 11. मैं पायथन में यूडीपी पोर्ट से कैसे कनेक्ट करूं?
- 12. सी # में स्थानीय नेटवर्क में यूडीपी मल्टीकास्ट कैसे करें?
- 13. मैं सॉकेट यूडीपी के नीचे बफर आकार कैसे सेट कर सकता हूं? सी #
- 14. सी ++ लिनक्स में सॉकेट टाइमआउट
- 15. जावा सॉकेट - स्थानीय पोर्ट
- 16. UdpPacket के स्रोत पोर्ट को कैसे निर्दिष्ट करें?
- 17. जावा में यूडीपी प्रसारण
- 18. सी में यूडीपी सर्वर कैसे बनाएं?
- 19. सी #: यूडीपी श्रोता थ्रेड
- 20. लिनक्स में सी के साथ यूडीपी प्रसारण कैसे करें?
- 21. सी # udp सॉकेट अपवाद
- 22. किसी विशिष्ट पोर्ट को रॉ सॉकेट कैसे बांधें?
- 23. jQuery में सॉकेट कैसे करें?
- 24. सरल यूडीपी सॉकेट ट्यूटोरियल की आवश्यकता
- 25. सी # में कई खुले सॉकेट प्राप्त करें?
- 26. सोनार सर्वर में एकाधिक स्रोत स्थानों को कैसे सेट करें?
- 27. सी ++ में सेट के वेक्टर कैसे करें?
- 28. ग्रहण (सी ++) में मेकफ़ाइल कैसे सेट करें?
- 29. रॉ सॉकेट सहायता: कच्चे सॉकेट द्वारा बनाए गए यूडीपी पैकेट कर्नेल यूडीपी द्वारा क्यों प्राप्त नहीं किए जा रहे हैं?
- 30. पायथन यूडीपी सॉकेट अर्ध-यादृच्छिक रूप से
आप एक नमूना कोड दे सकते हैं। – Balamurugan
मैन्युअल पेज से जुड़े एक नमूना है। यहां एक और है http://alas.matf.bg.ac.rs/manuals/lspe/snode=47.html –