求救socket通信发送16进制数
#include <WINSOCK2.H>
#include <STDIO.H>
#pragma comment(lib,"ws2_32.lib")
int main(int argc, char* argv[])
{
WORD sockVersion = MAKEWORD(2,2);
WSADATA data;
if(WSAStartup(sockVersion, &data) != 0)
{
getchar();
return 0;
}
SOCKET sclient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(sclient == INVALID_SOCKET)
{
printf("invalid socket !");
getchar();
return 0;
}
//要发送的数据
char sendData[30];
sockaddr_in serAddr;
serAddr.sin_family = AF_INET;
serAddr.sin_port = htons(8888);
serAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
if (connect(sclient, (sockaddr *)&serAddr, sizeof(serAddr)) == SOCKET_ERROR)
{
printf("connect error !");
getchar();
closesocket(sclient);
return 0;
}
while (true){
fflush(stdin);
gets(sendData);
send(sclient, sendData, strlen(sendData), 0);
}
closesocket(sclient);
WSACleanup();
return 0;
}
我看send()定义里是char *,但现在需要发送十六进制数,我用BYTE型的也不通过,求大神解救