User Tools

Site Tools


tanszek:oktatas:iss_t:xml-rpc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:iss_t:xml-rpc [2026/03/16 08:30] – [Server] kneheztanszek:oktatas:iss_t:xml-rpc [2026/03/16 09:32] (current) – [Server] knehez
Line 38: Line 38:
 </sxh> </sxh>
  
-===== Client =====+===== Client - in Python=====
  
 <sxh python> <sxh python>
Line 51: Line 51:
 print(s.system.listMethods()) print(s.system.listMethods())
 </sxh> </sxh>
 +
 +----
 +
 +==== Task: XML-RPC – Remote Task Manager ====
 +
 +The goal of this exercise is to understand how **Remote Procedure Calls (RPC)** work in a client–server architecture using the XML-RPC protocol. Implement a simple **task management system** consisting of a Python **XML-RPC server** and a Python **client application**.
 +
 +==== Server ====
 +
 +Create an XML-RPC server in Python that manages a list of tasks. Each task should contain the following fields:
 +
 +  * **id** – unique integer identifier
 +  * **title** – short text describing the task
 +  * **completed** – boolean value indicating whether the task is finished
 +
 +The server must provide the following remote methods:
 +
 +^ Method ^ Description ^
 +| add_task(title) | Creates a new task and returns the generated task ID |
 +| list_tasks() | Returns all tasks as a list of dictionaries |
 +| complete_task(task_id) | Marks the specified task as completed |
 +| delete_task(task_id) | Removes the specified task |
 +| get_task(task_id) | Returns the details of a single task |
 +| get_task_by_title(title) | Returns the details of a single task (by title string) |
 +
 +The server should store tasks **in memory** while it is running.
 +
 +==== Client ====
 +
 +Write a Python client that connects to the XML-RPC server and allows the user to interact with the task manager. The client program should:
 +
 +  * connect to the XML-RPC server
 +  * call the remote methods
 +  * display results in a readable format
 +
 +The client should provide a simple **command line menu**, for example:
 +
 +<code python>
 +1 - Add task
 +2 - List tasks
 +3 - Complete task
 +4 - Delete task
 +5 - Show task details by id
 +6 - Show task details by title
 +0 - Exit
 +</code>
 +
 +
 +
tanszek/oktatas/iss_t/xml-rpc.1773649834.txt.gz · Last modified: 2026/03/16 08:30 by knehez