Hello All,

I'm new to nim and I'm having some trouble figuring out what I'm doing wrong in 
this code. I'm getting an error that the sendTo, createThread, and joinThread 
procs are not defined. The "Thread" type is also undefined. Any help would be 
much appreciated.

Nim Compiler Version 0.19.9 [Linux: amd64]
    
    
    import net
    
    
    proc udp_server() {.thread.} =
      var server = newSocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
      server.bindAddr Port(3000)
      
      echo "server bound to port 3000"
      while true:
        var
          data = ""
          address = ""
          length = 64
          port: Port
        discard server.recvFrom(data, length, address, port)
        echo address, " send ", data, " by ", $port
        discard server.sendTo(address, port, "server echo back " & data)
        
        if data == "exit":
          break
    
    
    proc udp_client(data: string) =
      var socket = newSocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
      
      for count in 1 ..< 5:
        discard socket.sendTo("localhost", Port(3000), data)
        var
          data = ""
          address = ""
          senderport: Port
          length = 64
        discard socket.recvFrom(data, length, address, senderport)
        echo data
      
      discard socket.sendTo("localhost", Port(3000), "exit")
    
    
    var thread: Thread[void]
    
    createThread[void](thread, udp_server, nil)
    
    udp_client("test")
    
    joinThread(thread)
    
    
    
    Run

Thanks 

Reply via email to