TCP&UDP数据传输
本机发送端口固定55543,发送16进制数8位(如01 24 0B 01 02 03 02 06)到固定IP(192.168.1.6),刚学VC++,不熟,拜托高手帮帮忙。
[解决办法]
就几条api,
先初始化socket
填写发送地址
必要还可以绑定下端口
然后就结束了,
接受就开个线程弄个死循环在那收就得了。
[解决办法]
- C/C++ code
#include <stdio.h>#include "winsock2.h"void main() { WSADATA wsaData; SOCKET SendSocket; sockaddr_in RecvAddr; int Port = 55543; char SendBuf[8] = {0x01, 0x24, 0x0B, 0x01, 0x02,0x03,0x02, 0x06}; int BufLen = 8; //--------------------------------------------- // Initialize Winsock WSAStartup(MAKEWORD(2,2), &wsaData); //--------------------------------------------- // Create a socket for sending data SendSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); //--------------------------------------------- // Set up the RecvAddr structure with the IP address of // the receiver (in this example case "192.168.1.6") // and the specified port number. RecvAddr.sin_family = AF_INET; RecvAddr.sin_port = htons(Port); RecvAddr.sin_addr.s_addr = inet_addr("192.168.1.6"); //--------------------------------------------- // Send a datagram to the receiver printf("Sending a datagram to the receiver...\n"); sendto(SendSocket, SendBuf, BufLen, 0, (SOCKADDR *) &RecvAddr, sizeof(RecvAddr)); //--------------------------------------------- // When the application is finished sending, close the socket. printf("Finished sending. Closing socket.\n"); closesocket(SendSocket); //--------------------------------------------- // Clean up and quit. printf("Exiting.\n"); WSACleanup(); return;}
[解决办法]
socket编程例子,看看就明白了,端口是可以指定的!