
C
you are to write a TCP/IP server that can build up a graph of a network of
networks (using the supplied graph library (graph.h) and implementation of Dijkstra’s (Dijkstra.h)
query that graph to find out which link between two networks should be used as the next hop to
send a packet of data from one network to another within the network of networks (using the
supplied implementation of Dijkstra’s algorithm).
using the following program as a start point:
/*
* NetworkServer.c
* ProgrammingPortfolio Skeleton
*
*/
/* You will need to include these header files to be able to implement the TCP/IP functions */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <sys/socket.h>
/* You will also need to add #include for your graph library header files */
int main(int argc, const char * argv[])
{
int serverSocket = -1;
printf("Programming Portfolio 2022 Implementation\n");
printf("=========================================\n\n");
/* Insert your code here to create, and the TCP/IP socket for the Network Server
*
* Then once a connection has been accepted implement protocol
*/



Trending nowThis is a popular solution!
Step by stepSolved in 2 steps

- Some applications require two types of accesses to the critical section-read access and write access. For these applications, it is reasonable for multiple read accesses to happen concurrently. However, a write access cannot happen concurrently with either a read access or a write access. Example: For a sequence [R1, R2, W1, R3] of requests, R1 and R2 should be able to access the critical section concurrently while W1 and R3 wait in the queue. Once R1 and R2 leave the critical section, W1 can enter the critical section while R3 waits in the queue. (a) Modify Lamport's algorithm for such applications. (b) Modify Ricart and Agrawala's algorithm for such applications.arrow_forwardplease help for parts A,B,C,D of this question. You can choose which option you want to pick for the problem. I use mac terminal so pls also guide me how to compile and run the program!!! Please test the code with different graphs as well! thank you again,arrow_forwardNeed help with this question. Thank you :)arrow_forward
- unique please Your task for this assignment is to identify a spanning tree in one connected undirected weighted graph using C++. Implement a spanning tree algorithm using C++. A spanning tree is a subset of the edges of a connected undirected weighted graph that connects all the vertices together, without any cycles. The program is interactive. Graph edges with respective weights (i.e., v1 v2 w) are entered at the command line and results are displayed on the console. Each input transaction represents an undirected edge of a connected weighted graph. The edge consists of two unequal non-negative integers in the range 0 to 9 representing graph vertices that the edge connects. Each edge has an assigned weight. The edge weight is a positive integer in the range 1 to 99. The three integers on each input transaction are separated by space. An input transaction containing the string “end-of-file” signals the end of the graph edge input. After the edge information is read, the process…arrow_forwardYour task for this assignment is to identify a spanning tree in a connected undirected weighted graph using C++. 1. 2. 3. 4. Implement a spanning tree algorithm using C++. A spanning tree is an acyclic spanning subgraph of the of a connected undirected weighted graph. Your program will be interactive. Graph edges with respective weights (i.e., v1 v2 w) are entered at the command line and results are displayed on the console. Each input transaction represents an undirected edge of a connected weighted graph. The edge consists of two unequal uppercase letters representing graph vertices that the edge connects. Each edge has an assigned weight. The edge weight is a positive integer in the range 1 to 99. The three values on each input transaction are separated by a single space. An input transaction containing the string “end-of-file" signals the end of the graph edge input. After the edge information is read, the spanning tree evaluation process begins. Use an adjacency matrix for…arrow_forwardWrite a c++ program to demonsarte simple link list add few nodes and initial data in each not.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





