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

📄 ipxrec.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 0x5353
#define your_socket 0x4343
#define tot_ecb 5
#define max_message 100

volatile int event_completed_flag;

void far receive_esr(void)
	{
	_AX=_ES;
	_DS=_AX;
	event_completed_flag=1;
	}

int receive(void *packet_ptr,int *packet_len)
	{
	unsigned int old_time;
	struct IPXECB receive_ecb;
	struct IPXHEADER receive_header;

	int i,j;

	event_completed_flag=0;
	memset(&receive_ecb,0,sizeof(struct IPXECB));
    	memset(&receive_header,0,sizeof(struct IPXHEADER));
	
	open_socket(our_socket);
	receive_ecb.socket_number=our_socket;
    	receive_ecb.packet_count=2;
   	receive_ecb.event_service_routine=receive_esr;
    	receive_ecb.packet[0].address=&receive_header;
    	receive_ecb.packet[0].length=sizeof(struct IPXHEADER);
    	receive_ecb.packet[1].address=packet_ptr;
    	receive_ecb.packet[1].length=*packet_len;

	ipx_listen_for_packet(&receive_ecb);

	old_time=get_interval_marker();
	while(!event_completed_flag)
		{
		if get_interval_marker()>=18.2*60)
			{
			close(our_socket);
			return 0;
			}
		}

	close(our_socket);
    	return 1;
	}

main()
	{
	int  i,j,message_len,*message_num;
	char send_message[max_message];
	
	i=ipx_spx_installed();
	if (i<0) 
		{
		printf("!!IPX is not loaded, please load IPX first.\n")
		return;
		}
	message_len=max_message;
	*message_num=0;
	
	printf("Waiting for your message...\n\n");

	while(1)
		{
		memset(receive_nessage,0.max_message)
		i=receive(receive_message,message_len);
		(*message_num)++;
		if (i==1)
			print("Message %d received:%s\n",*message_num,receive_message);
		else
			{
			printf("\n*****************************************************\n");
			printf("  I have been waiting for message longer than 1 minute!\n");
			printf("  I am tired. Now,I have to say good_bye to you!\n");
			printf("\n*****************************************************\n");
			return;
			}
		}
	}


















⌨️ 快捷键说明

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