Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. (ns echo-server
  2. (:import (java.net InetAddress DatagramPacket DatagramSocket)))
  3.  
  4. (def udp-server (ref nil))
  5.  
  6. (def port 12345)
  7.  
  8. (defn localhost [] (. InetAddress getLocalHost))
  9.  
  10. (defn message [text]
  11. (new DatagramPacket (. text getBytes) (. text length) (localhost) port ))
  12.  
  13. (defn send-message [text]
  14. (.send @udp-server (message text)))
  15.  
  16. (defn create-udp-server []
  17. (DatagramSocket. port))
  18.  
  19. (defn start-udp-server []
  20. (dosync (ref-set udp-server (create-udp-server))))
  21.  
  22. (defn stop-udp-server []
  23. (.close @udp-server))
  24.  
  25. (start-udp-server)
  26.  
  27. (defn empty-message [n]
  28. (new DatagramPacket (byte-array n) n))
  29.  
  30.  
  31.  
  32. (while true (do
  33. (def orig-packet (empty-message 1024))
  34. (.receive @udp-server orig-packet)
  35. (.send @udp-server orig-packet)
  36. (println ( new String (.getData orig-packet) "UTF-8"))
  37. )
  38. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement