Develop a TCP sequential server (listening to the port specified as the first parameter of the command line, as a decimal integer) that, after having established a TCP connection with a client, accepts file transfer requests from the client and sends the requested files back to the client, following the protocol specified below. The files available for being sent by the server are the ones accessible in the server file system from the working directory of the server. Develop a client that can connect to a TCP server (to the address and port number specified as first and second command-line parameters, respectively). After having established the connection, the client requests the transfer of the files whose names are specified on the command line as third and subsequent parameters, and stores them locally in its working directory. After having transferred and saved locally a file, the client must print a message to the standard output about the performed file transfer, including the file name, followed by the file size (in bytes, as a decimal number) and timestamp of last modification (as a decimal number). Any timeouts used by client and server to avoid infinite waiting should be set to 15 seconds.
The protocol for file transfer works as follows: to request a file the client sends to the server the three ASCII characters “GET” followed by the ASCII space character and the ASCII characters of the file name, terminated by the ASCII carriage return (CR) and line feed (LF):
G E T …filename… CR LF
(Note: the command includes a total of 6 ASCII characters, i.e. 6 bytes, plus the characters of the file name). The server responds by sending: + O K CR LF B1 B2 B3 B4 File contents……… T1 T2 T3 T4
Note that this message is composed of 5 characters followed by the number of bytes of the requested file (a 32-bit unsigned integer in network byte order - bytes B1 B2 B3 B4 in the figure), followed by the bytes of the requested file contents, and then by the timestamp of the last file modification (Unix time, i.e. number of seconds since the start of epoch, represented as a 32-bit unsigned integer in network byte order - bytes T1 T2 T3 T4 in the figure).
To obtain the timestamp of the last file modification of the file, refer to the syscalls stat or fstat.
The client can request more files using the same TCP connection, by sending several GET commands, one after the other. When it has finished sending commands on the connection, it starts the procedure for closing the connection. Under normal conditions, the connection should be closed gracefully, i.e. the last requested file should be transferred completely before the closing procedure terminates. In case of error (e.g. illegal command, non-existing file) the server always replies with: - E R R CR LF
(6 characters) and then it starts the procedure for gracefully closing the connection with the client.
This just the case of client and sequential server.
I have done simillar client/server applications in C. Can finish the task in 4-5 hours time. Can start working immediately.
18 freelance font une offre moyenne de $143 pour ce travail
Hi I'm an expert in network programming on Linux. I'm sure that I can easily do this project. We can have a about it. Thanks..
Hi, Dear Employer! I am really interested in your project. I have enough experience in Network Socketing Programming, Python, C/C++, C#, java programming. I am 100% sure I can satisfy your requirements perfectly. Plus
HI.. I am good and experienced in network programming using TCP/IP sockets API in C/C++ language and can implement the client/server file transfer program as per given protocols as a console application.
Nice to meet you. I've read the task description and can develop definitely. I'll provide you with the highly skill to complete this task in time. I'll also do my best for you. Please contact with me. Thank you ve Plus
Hello there, I have vast experience usingf C and C++ on Windows, Linux, UNIX and h embedded platforms. This is clearly a student project; but, nevertheless, will take time to design and develop, as there are comman Plus
Hi. I have review your project description. I have full experiences in Linux Socket appDevelopment. I am very interested in your project and also ready to start work immediately. Hoping for your soon Reply. Thank Plus
***Hi there, I can do the sequential client server model for file sync in python. Message me. Thanks.
Hi I’m ready for this project I’m an expert in C/C++ I read your specifications and I’m sure I can do it perfectly Please give me an opportunity to work for you
I have implemented FTP server using TCP protocol stack in c on linux using socket programming. So i guess i can do your project very efficiently. Also i have designed central chat system using socket programming. So it Plus
I can implement the client-server according to your specification. My question is there are already so many protocols like http, ftp .... etc available. Why are you trying to reinvent the wheel?
ear Sir. I am very interesting on your project. I am major in AI such as Image Processing, Speech Processing, Planning, and so on. I have many experience on development of C/C++/C#/VB/VB.net/Java/Python programing Plus
Hi, I've profound experience about linux and network programming, and have good knowledge about os networking framework. I've great confidence to do this work perfectly. Waiting for your good news. Thanks!
Hello. I do have experience in this kind of project (TCP client-server), therefore, I can deliver it in a short amount of time. Looking forward to work with you.
I have already worked on this project offline. I can finish this task as per your requirement. Please try me once and try to get the best support from my end.
Hi, I am a protocol engineer and network programming is my daily work. I have read your specification. I can definitely deliver it in a short amount of time. Waiting for your good news! Thanks!
Have done similar projects before. As per your specification the C program will be developed and delivered in 2 parts. Initially a binary version which runs on Ubuntu Linux will be delivered. After approval the Plus