求救socket通信发送16进制数

KeepMovingggg 2014-05-05 07:37:10

#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型的也不通过,求大神解救
...全文
469 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2014-05-06
  • 打赏
  • 举报
回复
以字符串的形式发送,接收到对应解析出来就好!
不要做咸鱼 2014-05-06
  • 打赏
  • 举报
回复
直接发送就得了呗,接收肯定16进制啊
赵4老师 2014-05-06
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket send(人多)send(病少)send(财富) recv(人多病)recv(少财富) 陷阱里面啊! http://bbs.csdn.net/topics/380167545
赵4老师 2014-05-06
  • 打赏
  • 举报
回复
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
KeepMovingggg 2014-05-05
  • 打赏
  • 举报
回复
引用 1 楼 mydeardingxiaoli 的回复:
就是想用socket通信实现发送十六进制数,怎么做?
逸萌 2014-05-05
  • 打赏
  • 举报
回复

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧