mirror of
				https://github.com/lunarmodules/luasocket.git
				synced 2025-10-31 18:35:45 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			838 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			838 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env lua
 | |
| 
 | |
| --[[
 | |
| Show that luasocket returns an error message on zero-length UDP sends,
 | |
| even though the send is valid, and in fact the UDP packet is sent
 | |
| to the peer:
 | |
| 
 | |
| % sudo tcpdump -i lo -n
 | |
| tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 | |
| listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
 | |
| 13:40:16.652808 IP 127.0.0.1.56573 > 127.0.0.1.5432: UDP, length 0
 | |
| 
 | |
| ]]
 | |
| 
 | |
| socket = require"socket"
 | |
| 
 | |
| s = assert(socket.udp())
 | |
| r = assert(socket.udp())
 | |
| assert(r:setsockname("*", 5432))
 | |
| assert(s:setpeername("127.0.0.1", 5432))
 | |
| 
 | |
| ok, emsg = s:send("")
 | |
| if ok ~= 0 then
 | |
|     print("send of zero failed with:", ok, emsg)
 | |
| end
 | |
| 
 | |
| assert(r:settimeout(2))
 | |
| 
 | |
| ok, emsg = r:receive()
 | |
| 
 | |
| if not ok or string.len(ok) ~= 0 then
 | |
|     print("fail - receive of zero failed with:", ok, emsg)
 | |
|     os.exit(1)
 | |
| end
 | |
| 
 | |
| print"ok"
 | |
| 
 |