length bytes of data from any sender and store the sender info in sender.itemOn error, returns an empty string and sets error appropriately.
	# Receive `length` bytes of data from any sender and store the sender info in `sender.item`
	#
	# On error, returns an empty string and sets `error` appropriately.
	fun recv_from(length: Int, sender: Ref[nullable SocketAddress]): String
	do
		var src = new NativeSocketAddrIn
		var buf = new CString(length)
		var len = native.recvfrom(buf, length, 0, src)
		if len == -1 then
			error = new IOError.from_errno
			src.free
			return ""
		end
		sender.item = new SocketAddress(src)
		return buf.to_s_unsafe(len, copy=false)
	end
					lib/socket/socket.nit:396,2--413,4