Re: [問題] 用VC去broadcast一組16進位數字
後來在程式設計俱樂部那邊得到了解答、
我附上連結。
http://www.programmer-club.com.tw/ShowSameTitleN/vc/40449.html
※ 引述《cutem (大少爺)》之銘言:
: 開發平台(Platform):VC++
: VC++
: 問題(Question):
: 如何broadcast一組16進位資料
: 餵入的資料(Input):
: 0xbb0000dd
: 預期的正確結果(Expected Output):
: 用wireshark可以看到Data部份是4byte,然後在16進位部份
: 會看到最後4byte是 bb 00 00 dd
: 錯誤結果(Wrong Output):
: 可以廣播、但最後4byte不正確
: 程式碼(Code):
: int _tmain(int argc, _TCHAR* argv[])
: {
: if(argc < 2)
: {
: std::cout << "Error in Syntax: UDPServer.exe <port no> <msg>";
: return 0;
: }
: int portno = ::_wtoi(argv[1]);
: USES_CONVERSION;
: // char *p = W2A(argv[2]);
: WORD w = MAKEWORD(1,1);
: WSADATA wsadata;
: ::WSAStartup(w, &wsadata);
: SOCKET s = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
: if(s == -1)
: {
: std::cout << "Error in creating socket";
: return 0;
: }
: char opt = 1;
: setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char*)&opt, sizeof(char));
: SOCKADDR_IN brdcastaddr;
: memset(&brdcastaddr,0, sizeof(brdcastaddr));
: brdcastaddr.sin_family = AF_INET;
: brdcastaddr.sin_port = htons(portno);
: brdcastaddr.sin_addr.s_addr = INADDR_BROADCAST;
: int len = sizeof(brdcastaddr);
: // Byte[] msg = {0xbb,0x00,0x00,0xdd};
: char sbuf[1024];
: memset(sbuf,0,1024);
: sprintf_s(sbuf,8,"%1x%1x%1x%1x",(unsigned char)0xba,(unsigned
: char)0x00,(unsigned char)0x00,(unsigned char)0xba);
: printf("sbuf data:%x,%x,%x,%x\n",sbuf[0],sbuf[1],sbuf[2],sbuf[3]);
: std::cout << "sbuf len:\n"<<strlen(sbuf);
: int ret = sendto(s, sbuf, strlen(sbuf), 0, (sockaddr*)&brdcastaddr, len);
: //int ret = sendto(s, message, strlen(message), 0, (sockaddr*)&brdcastaddr,
: len);
: if(ret < 0)
: {
: std::cout << "Error broadcasting to the clients";
: }
: else if(ret < strlen(sbuf))
: {
: std::cout << "Not all data broadcasted to the clients";
: }
: else
: {
: std::cout << "Broadcasting is done";
: }
: ::closesocket(s);
: return 0;
: }
: 補充說明(Supplement):
: 此程式是在網路上撈到的,廣播部份是ok的,只是我一直無法將16進位
: 數字正確的廣播出去
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.2.22
→
01/15 13:21, , 1F
01/15 13:21, 1F
→
01/15 13:23, , 2F
01/15 13:23, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章