Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
129e9fef
Commit
129e9fef
authored
Jul 19, 2002
by
sof
Browse files
[project @ 2002-07-19 15:32:39 by sof]
recv now raises EOF; handle it
parent
37aed70e
Changes
1
Hide whitespace changes
Inline
Side-by-side
testsuite/tests/ghc-regress/lib/net/net002.hs
View file @
129e9fef
-- $Id: net002.hs,v 1.
1
2002/0
3/28 09:45:55 simonmar
Exp $
-- $Id: net002.hs,v 1.
2
2002/0
7/19 15:32:39 sof
Exp $
-- http://www.bagley.org/~doug/shootout/
-- Haskell echo/client server
-- written by Brian Gregor
...
...
@@ -27,6 +27,11 @@ server_sock = do
listen
s
2
return
s
eofAsEmptyHandler
::
IOError
->
IO
String
eofAsEmptyHandler
e
|
isEOFError
e
=
return
""
|
otherwise
=
ioError
e
echo_server
s
=
do
(
s'
,
clientAddr
)
<-
accept
s
proc
<-
read_data
s'
0
...
...
@@ -35,7 +40,7 @@ echo_server s = do
where
read_data
sock
totalbytes
=
do
-- (str,i) <- readSocket sock 19
str
<-
recv
sock
19
str
<-
recv
sock
19
`
catch
`
eofAsEmptyHandler
-- if (i >= 19)
putStr
(
"Server recv: "
++
str
)
if
((
length
str
)
>=
19
)
...
...
@@ -74,7 +79,7 @@ echo_client n = do
putStr
(
"Client wrote: "
++
message
)
--
-- (str,i) <- readSocket sock 19
str
<-
recv
sock
19
str
<-
recv
sock
19
`
catch
`
eofAsEmptyHandler
if
(
str
/=
message
)
then
do
putStr
(
"Client read error: "
++
str
++
"
\n
"
)
...
...
Write
Preview
Supports
Markdown
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!
Cancel
Please
register
or
sign in
to comment