Write a C program for PC to PC communication.

, by Prashant Gunjal

Full duplex character transfer (chat application)

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<process.h>
#include<string.h>
union REGS in,out;
void init();
void transmit(char str);
void recive();
void main()
{
int ch,i,n=0;
char string[10],c1;
clrscr();
init();
do
{
printf("\nMENU");
printf("\n1.Transmit");
printf("\n2.Recive");
printf("\nEnter your choice=");
scanf("%d",&ch);
switch(ch)
{
case 1:
      printf("\nEnter data to transmit=");
      scanf("%s",&string);
      n=strlen(string);
      for(i=0;i<n;i++)
      {
transmit(string[i]);
      }
      transmit('\0');
      break;
case 2:
printf("\nRecived data is =");

recive();
break;
}
     printf("\nDo you want to continue(y/n)=");
     flushall();
     scanf("%c",&c1);
}while(c1=='y');
getch();
}
void init()
{
in.h.ah=0x0;
in.h.al=0xe3;
in.h.dh=0x0;
in.h.dl=0x0;
int86(0x14,&in,&out);
}
void transmit(char str)
{
in.h.ah=0x1;
in.h.al=str;
in.h.dh=0x0;
in.h.dl=0x0;
int86(0x14,&in,&out);

 if(out.h.ah && 0x01==1)
printf("\nData trasnmitted successfully");
 else
printf("\nError in data transmission");
}
void recive()
{
char c;
in.h.ah=0x2;
in.h.dh=0x0;
in.h.dl=0x0;
int86(0x14,&in,&out);
c=out.h.al;
if(c!='\0')
{
printf("%c",c);
      recive();
}
}

COMPUTER 1
****************OUTPUT*********************

MENU
1.Transmit
2.Recive
Enter your choice=1

Enter data to transmit=mmcoe

Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Do you want to continue(y/n)=y

MENU
1.Transmit
2.Recive
Enter your choice=2

Recived data is =prasad
Do you want to continue(y/n)=n

COMPUTR 2

****************OUTPUT*********************

MENU
1.Transmit
2.Recive
Enter your choice=2

Recived data is=mmcoe
Do you want to continue(y/n)=y

MENU
1.Transmit
2.Recive
Enter your choice=1

Enter data to transmit=prasad

Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Data trasnmitted successfully
Do you want to continue(y/n)=



0 comments: