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

📄 ipxsend.c

📁 IPX协议C程序源代码:用于网络通信
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <mem.h>
#include <string.h>
#include <dos.h>
#include "ipx.h"

#define our_socket 0x4343
#define your_socket 0x5353
#define max_message 100

int send(void *packet_ptr,int packet_len)
	{
	int i,dest_connection_number,dest_socket;
	unsigned char dest_network[4],dest_node[6];
	struct IPXECB send_ecb;
	struct IPXHEADER send_header;

	memset(&send_ecb,0,sizeof(struct IPXECB));
	send_ecb.socket_number=our_socket;

	open_socket(our_socket);
	dest_connection_number=get_1st_connection_num("ll");
	get_internet_address(dest_connection_number,dest_network,dest_node);
	dest_socket=your_socket;
	i=get_local_target(dest_network,dest_node,dest_socket,send_ecb,immediate_address);
	if (i!=0) return(0);

	send_ecb.packet_count=2;
	send_ecb.packet[0].address=&send_header;
	send_ecb.packet[0].length=sizeof(struct IPXHEADER);
	send_ecb.packet[1].address=packet_ptr;
	send_ecb.packet[1].length=packet_len;

	send_header.packet_type=4;

	memcpy(send_header.dest_network_number,dest_network,4);
	memcpy(send_header.dest_network_node,dest_node,6);
	send_header.dest_network_socket=dest_socket;

	ipx_send_packet(&send_ecb);

	close(our_socket);

	if (send_ecb.completion_code==0)
	   return (1);
	else
	   return (0);
	}

main()
	{
	int i,j,message_len;
	char send_message[max_message];
	unsigned int old_time;

	j=0;
	i=ipx_spx_installed();
	if (i<0)
		{
		printf("!!IPX is not loaded, please load IPX first.\n")
		return;
		};
	while(1)
		{
		print("IPX communication testing message(Type 'Exit' to quit):\n);
		gets(sent_message);
		if (!strcmp(send_message,"Exit")) break;
		i=send(send_message,message_len+1);
		if (i==1)
			{
			 j=j+1;
			 printf("Message %d has been sent!\n\n",j);
			}
		else
			{
			 printf("Fail to send!\n");
			 break;
			}
		old_time=get_interval_marker();
		while(get_interval_marker()-old_time<19);
		}
	}












⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -