📄 emulationdatatransandrecive.c
字号:
#include <winsock2.h>
#include <stdio.h>
#include <process.h>
#include <time.h>
#include "mac_headers.h"
#pragma comment(lib, "wsock32.lib")
#define DEFAULT_PORT 2000
void sendData(MAC_TX_PACKET *pPacket)
{
//在这个函数中使用socket的方式来发送数据
WORD wVersionRequested;
WSADATA wsaData;
int err;
SOCKET sock;
struct sockaddr_in server;
struct hostent *hp ;
char sendNwkData[5];
int sendOutLength;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
exit(1);
}
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock ==INVALID_SOCKET)
{
perror("opening stream socket");
exit(1);
}
printf("The client socket number is :%d \n",sock);
sendNwkData[0]=1;
sendNwkData[1]=2;
sendNwkData[2]=0;
sendNwkData[3]=0x13;
sendNwkData[4]=0x14;
server.sin_family = AF_INET;
hp = gethostbyname("127.0.0.1");
if (hp == 0)
{
fprintf(stderr, "%s: unknown host \n", "127.0.0.1");
exit(2);
}
memcpy((char*)&server.sin_addr, (char*)hp->h_addr, hp->h_length);
server.sin_port = htons(DEFAULT_PORT);
if (connect(sock, (struct sockaddr*)&server, sizeof(server)) < 0)
{
perror("connecting stream socket");
exit(3);
}
// memcpy(data,sendData,sizeof(data));
// memcpy((char *)&testData.a,sendData,sizeof(sendData));
// if (send(sock, DATA, sizeof(DATA),0) < 0)
// if (send(sock, data, sizeof(data),0) < 0)
sendOutLength=send(sock, (const char*)sendNwkData, sizeof(sendNwkData),0);
printf("The value of sendOutLength is : %d\n",sendOutLength);
if (sendOutLength < 0)
perror("sending on stream socket");
printf("the length of the data:%d\n",sizeof(sendNwkData));
closesocket(sock);
printf("I have send out some command\n");
//exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -