1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Effectus [21]
4 years ago
11

In this assignment, you are provided with almost-working code that establishes a TCP socket connection over the INET domain (tho

ugh for this assignment you should run and test your client-server code on the same machine). What is missing are the actual parameters for each of the four connection establishment socket APIs on the server and the two connection establishment socket APIs on the client (you will see a ? where the function parameters should be). Here are some identifying characteristics about the sockets you will be creating: • Use the INET domain for the socket type. • Use TCP sockets. • Use a backlog of 10 partially completed connections for the kernel to queue. Your goal for the first part of this assignment is to fill in the socket APIs with their needed parameters, but you should not add any new lines of code (until told to do so) as all of the needed supporting information such as variable declarations and initializations has already been provided. Use what is given to you, but do not change the intent of the program. If completed successfully, you will see the message "Server Message: SUCCESS" on the client side, but nothing on the server-side (although the server-side should still be running). The client-side only runs once while the server-side runs indefinitely, so you can run the client multiple times. To quit the server-side program, you may use CTRL-C (i.e., ^C). Go ahead and stop the server-side socket program now and then attempt to run the server-side socket program again. Does it work? Or does it give you an error? Knowing why you are getting this error is important! Normally, we would call unlink() to delete the socket "file", but this only works on UNIX domain sockets, not the INET sockets that we are using. For INET sockets, there is no file system token representing them, so we need to set a socket option to re-use the address as follows: int on = 1; setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); Now, enter the above two lines of code just before where the error is occurring. Then recompile and run your socket program again. Hopefully, you will no longer get these same errors as before. Make sure your client-server socket program works as expected and then submit both code files. 2 REQUIREMENTS: • No comments are required for this recitation assignment, except for your name at the top of the program. • Your program should have two components named "rec08svr.c" and "rec08cli.c", without the quotes, for the server and client code, respectively. • Your program will be graded based largely on whether it works correctly on the CSE machines (e.g., cse01, cse02, …, cse06), so you should make sure that your program compiles and runs on a CSE machine. • Although this assignment is to be submitted individually (i.e., each student will submit his/her own source code),
rec09svr.c

// compile: gcc rec09svr.c -o rec09svr

// usage : ./rec09svr port

#include

#include

#include

#include

#include

#include

#include

#include

#include

int main(int argc, char *argv[])

{

int listenfd = 0, connfd = 0, cli_size, portno;

struct sockaddr_in serv_addr, cli_addr;

char sendBuff[1025];

if ((listenfd = socket( ? )) == -1)

{

printf("socket error\n");

exit(EXIT_FAILURE);

}

memset(&serv_addr, '0', sizeof(serv_addr));

memset(sendBuff, '0', sizeof(sendBuff));

serv_addr.sin_family = AF_INET;

serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);

portno = atoi(argv[1]);

serv_addr.sin_port = htons(portno);

if (bind( ? ) == -1)

{

printf("bind error\n");

exit(EXIT_FAILURE);

}

if (listen( ? ) == -1)

{

printf("listen error\n");

exit(EXIT_FAILURE);

}

while (1)

{

cli_size = sizeof(cli_addr);

if ((connfd = accept( ? )) == -1)

{

printf("accept error\n");

exit(EXIT_FAILURE);

}

strcpy(sendBuff, "Server Message: SUCCESS\n");

write(connfd, sendBuff, strlen(sendBuff));

close(connfd);

sleep(1);

}

return 0;

}

the second one

rec09cli.c

// compile: gcc rec09cli.c -o rec09cli

// usage : ./rec09cli port

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

int main(int argc, char *argv[])

{

int sockfd = 0, n = 0, portno;

char recvBuff[1025];

struct sockaddr_in serv_addr;

memset(recvBuff, '0', sizeof(recvBuff));

if ((sockfd = socket( ? )) < 0)

{

printf("socket error\n");

exit(EXIT_FAILURE);

}

serv_addr.sin_family = AF_INET;

portno = atoi(argv[1]);

serv_addr.sin_port = htons(portno);

serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");

if (connect( ? ) < 0)

{

printf("connect error\n");

exit(EXIT_FAILURE);

}

while ((n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0)

{

recvBuff[n] = 0;

if (fputs(recvBuff, stdout) == EOF)

{

printf("fputs error\n");

}

}

if (n < 0)

{

printf("read error\n");

}

return 0;

}
Computers and Technology
1 answer:
Scrat [10]4 years ago
3 0
Holy copy and paste that was used here
You might be interested in
According to Metcalfe's law, if a second computer is joined to a first, the value of the network created is how many times great
Nataly_w [17]

Answer:

Four times

Explanation:

Metcalfe's Law is a theory used in digital networks and telecommunications to symbolize the value of a network. According to the law a network's impact is the square of the number of nodes in that network at that given time. For instance, if a network has 10 nodes, its intrinsic value will be 100 (10 * 10).

The law also states that if a second computer is connected to a first, the value of the network created will be four times bigger than the value of the original computer.

7 0
3 years ago
To export data from a query to Excel, select the query in the Navigation Pane, click ____ on the ribbon, and then click the Exce
Gelneren [198K]

Answer:

External Data is the correct answer.

Explanation:

In the following statement, if the user wants to transfer data from query to Excel then, they follow these steps.

  • Firstly, they have to click on the Tools.
  • Then, they click on the options.
  • Then, they have to click on the Query then, click on the external data on the ribbon.
  • Finally, they click on the Excel button.
5 0
4 years ago
All of the following are data providers included with .NET for accessing and manipulating data in databases, EXCEPT ____. Group
Len [333]

Complete Question:

All of the following are data providers included with .NET for accessing and manipulating data in databases, EXCEPT ____.

Group of answer choices.

A. OLE DB

B. ODBC

C. SQL Server

D. Access

Answer:

D. Access

Explanation:

A database management system (DBMS) can be defined as a collection of software applications that typically enables computer users to create, store, modify, retrieve and manage data or informations in a database. Generally, it allows computer users to efficiently retrieve and manage their data with an appropriate level of security.

A data dictionary can be defined as a centralized collection of information on a specific data such as attributes, names, fields and definitions that are being used in a computer database system.

In a data dictionary, data elements are combined into records, which are meaningful combinations of data elements that are included in data flows or retained in data stores.

This ultimately implies that, a data dictionary found in a computer database system typically contains the records about all the data elements (objects) such as data relationships with other elements, ownership, type, size, primary keys etc. This records are stored and communicated to other data when required or needed.

Basically, when a database management system (DBMS) receives data update requests from application programs, it simply instructs the operating system installed on a server to provide the requested data or informations.

Some examples of data providers included with .NET for accessing and manipulating data in databases are;

A. OLE DB: this is an acronym for Object Linking and Embedding Database. OLE DB was designed and developed by Microsoft corporation and it comprises of various application programming interfaces (APIs) used for data access.

B. ODBC: it is an acronym for Open Database Connectivity and it was designed and developed by Microsoft corporation used for data access through structured query language (SQL).

C. SQL Server: it is a domain-specific language server designed and developed for managing the various data saved in a relational or structured database.

3 0
3 years ago
On a Windows network share, if the user can browse a file but cannot copy or modify it, what type of access controls and permiss
melamori03 [73]

Answer:

List Folder Content.

Explanation:

When there is a List folder Content permisoon, one can list files in the folder or switch to a subfolder, view folder attributes and permissions, and execute files, but cannot view file contents.

Cheers

8 0
3 years ago
Read 2 more answers
Internal hard disks are an example of ____ storage devices.
MA_775_DIABLO [31]
The answer is <span>magnetic. </span>
5 0
3 years ago
Other questions:
  • A derived class has access to __________.
    15·1 answer
  • Assume v is a vector of integers that has been declared and initialized. Write a statement that adds the value 42 to the vector.
    14·1 answer
  • Which windows 10 edition can a device with windows 8 or 8.1 pro upgrade to
    5·1 answer
  • Why was unicode invented?
    10·1 answer
  • How many bytes are there in 256 Kbytes?
    6·1 answer
  • Decision support systems (or DSSs) model information using OLAP, which provides assistance in evaluating and choosing among diff
    7·1 answer
  • 5. Why do we need programming language?​
    13·2 answers
  • Although plants and ainamals are both living things___
    13·1 answer
  • How do I text lauraasher811 on brainly?
    8·1 answer
  • What is the function of tab?<br>​
    15·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!