首页 > 新闻动态 >  

新闻动态
NEWS

[摘录]haskell实现办事器端,ruby实现客户端

添加时间:2013-8-8 点击量:

server.hs



import Network.Socket


main :: IO ()
main
= do
-- create socket
sock
<- socket AF_INET Stream 0
-- make socket immediately reusable - eases debugging.
setSocketOption sock ReuseAddr
1
-- listen on TCP port 4242
bindSocket sock (SockAddrInet
4242 iNADDR_ANY)
-- allow a maximum of 2 outstanding connections
listen sock
2
mainLoop sock

mainLoop :: Socket
-> IO ()
mainLoop sock
= do
-- accept one connection and handle it
conn
<- accept sock
runConn conn
mainLoop sock

runConn :: (Socket, SockAddr)
-> IO ()
runConn (sock, tcp)
= do
sms
<-recv sock 1024
putStr sms
send sock
I recevied the message!\n
runConn (sock, tcp)


client.rb



require socket

s
= TCPSocket.new localhost,4242
loop do
sms
=gets.chomp
s.puts sms
puts s.gets
end


彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
分享到: