C Program on UNIX

Ethernet Switch Program in ANSI C on UNIX,Use of semaphores & threads Create program that simulates single switch with numClients machines sending messages through it. Switch will be modeled by main thread. Will be several parameters: 1.numClients-number of ports. Assume that each port is connected to single machine (client). Thread will be created for each client. 2.rngSeed-seed for random number generator 3.maxCount-number of times each client will attempt to send essage 4.sendProbability-probability ( ?- 10000) that client will send message on each attempt Will be data structure shared among all threads. an array, one for each client, of port s described below. message:: source // sender's address destination // destination address data // an integer value port:: message // described above empty // binary semaphore (initially 1) mutex // binary semaphore (initially 1) maddr // address of connected machine Entry port[i].message represents packet input on port[i] of switch. Ports are numbered 0 through numClients - 1 . Entry port[i].maddr is the information thats maintained in forwarding table. You wont need to keep seperate forwarding table. The field maddr with index is sufficient. You will need to update this field accordingly, its initially set to NULL . Output of simulation will be list of messages forwarded by switch. For each forwarded message a line will be printed indicating output port , source machine address , destination machine address , and data First message arrived on port 1: 0 1234567 9876 10125 2 1234567 9876 10125 3 1234567 9876 10125 1 74855 1234567 77449201 Switch thread will implement following pseudocode. srand( rngSeed ) InitClient( numClients ) // supplied function Create array of ports Initialize array of ports Initialize sendingClients to numClients for i = 0 to numClients - 1 Start new thread for client attached to port i while sendingClients > 0 for i = 0 to numClients - 1 if message on port i // new entry in port[i] update forwarding table if new information search forwarding table for output port if port found send message out port else send message out all ports except i Check out attached to continue

## Deliverables

Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.

## Deadline information

Program MUST be completed by Monday January 28th at 12:00pm Central Time

Habilidades: Programação C, Engenharia, Linux, MySQL, PHP, Arquitetura de software, Teste de Software, UNIX

Veja mais: rngseed, use of data structure in programming, use of binary, thread programming, table data structure, switch c programming, source code for binary search in c, set in data structure, set data structure, semaphore programming, search data structure, search binary, pseudocode for binary search, program to implement binary search, program of binary search in c, programming program, programming in data structure, programming data structure, programming and data structure, program for binary search in c

Acerca do Empregador:
( 9 comentários ) United States

ID do Projeto: #2836757

Concedido a:


See private message.

$21.25 USD em 14 dias
(53 Comentários)

2 freelancers estão ofertando em média $32 para esse trabalho


See private message.

$42.5 USD in 14 dias
(14 Comentários)