⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emulationdatatransandrecive.c

📁 ucos在NEC平台下的移植
💻 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 + -