#include #include "mpi.h" int main(int argc, char* argv[]) { MPI_Init(&argc, &argv); // Open a port // Publish a session name char portname[MPI_MAX_PORT_NAME]; MPI_Open_port(MPI_INFO_NULL, portname); MPI_Publish_name("RandomSession", MPI_INFO_NULL, portname); MPI_Comm newComm ; MPI_Comm_accept (portname, MPI_INFO_NULL, 0, MPI_COMM_SELF, &newComm); printf( " Successfully connected "); int val ; MPI_Request req ; MPI_Status status ; MPI_Irecv (&val, 1, MPI_INT, 0, 94, newComm, &req); MPI_Wait(&req, &status); printf( " Received : %d\n", val); MPI_Send (&val, 1, MPI_INT, 0, 91, newComm); printf ("Sent : %d\n", val); //wait for user input char y ; printf( "Please enter a char \n"); scanf("%c", &y); printf ("\n Trying to disconnect\n"); MPI_Comm_disconnect(&newComm); MPI_Unpublish_name("RandomSession", MPI_INFO_NULL, portname); MPI_Close_port(portname); MPI_Finalize(); return 0 ; }