предлагаемый код
int PORT 
char ADDRESS[256] 
char TXT[256] 
scanf("%n",PORT); 
cin.getline(ADDRESS,sizeof(ADDRESS)); 
cin.getline(TXT,sizeof(TXT)); 
исправил на 
int PORT;
char ADDRESS[256] ;
char TXT[256] ;
scanf("%n",&PORT); 
cin.getline(ADDRESS,sizeof(ADDRESS)); 
cin.getline(TXT,sizeof(TXT)); 
все работает, только значение PORT получает не с клавы, а некое "количество символом, считанных до сих пор"(цитата из Шилдта)
а если исправить на 
scanf("%i",&PORT); 
то PORT получит число с клавы
все проверил под VC++ 6.0