# File lib/packet/packet_nbio.rb, line 29
    def write_once(p_data,p_sock)
      t_data = p_data.to_s
      written_length = 0
      data_length = t_data.length
      begin
        written_length = p_sock.write_nonblock(t_data)
        return "" if written_length == data_length
        return t_data[written_length..-1]
      rescue Errno::EAGAIN
        return t_data[written_length..-1]
      rescue Errno::EPIPE
        raise DisconnectError.new(p_sock)
      rescue Errno::ECONNRESET
        raise DisconnectError.new(p_sock)
      rescue
        raise DisconnectError.new(p_sock)
      end
    end