Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
Lab 4 -- Sockets
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
1
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
PIKA-lab
Courses
Distributed Systems
Distributed Systems A.Y. 2022-2023
Lab 4 -- Sockets
Commits
90e9501e
Commit
90e9501e
authored
2 years ago
by
Giovanni Ciatto
Browse files
Options
Downloads
Patches
Plain Diff
chore: add readme
parent
5c40b264
Loading
Loading
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+32
-0
32 additions, 0 deletions
README.md
with
32 additions
and
0 deletions
README.md
0 → 100644
+
32
−
0
View file @
90e9501e
## TODO
### Example 1
1.
Have a look to the
`:server`
and
`:client`
sub-projects
2.
Notice that they both come with a
`run`
task
-
`gradle server:run -Pport=XXX`
launches the
`EchoServer`
class, passing
`XXX`
as the first and only argument
*
`XXX`
defaults to
`10000`
(cf. the file
`gradle.properties`
)
-
`gradle client:run -Phost=HHH -Pport=XXX`
launches the
`EchoClient`
class, passing arguments
`HHH`
and
`XXX`
*
`HHH`
defaults to
`localhost`
(cf. the file
`gradle.properties`
)
*
`XXX`
defaults to
`10000`
(cf. the file
`gradle.properties`
)
> __Goal__: listen to the teacher showing how to implement a _sequential_ echo service
### Exercise 1
-
Go on editing the
`:server`
and
`:client`
sub-projects
> __Goal__: complete the implementation of a **concurrent** echo service
Notice that:
-
Your implementation should satisfy all the tests from all modules (
`:server`
,
`:client`
, and
`:test`
)
> Tests are based on printed lines and their ordering.
> __So, pay attention to do exactly the same output prints as the teacher__
-
Your client/server implementation should terminate gracefully whenever their standard input stream is closed
-
the standard input can be closed via
`Ctrl+D`
on Unix,
`Ctrl+Z`
followed by
`Enter`
on Windows (perhaps)
-
this is a subtle requirement, 'cause it forces you to use several threads
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment