2017-04-24 5 views
0

Ruby 2.3에 tcp 서버 데몬을 쓰려고합니다. 문제는 후이즈가 루비 TCP 서버와 통신 할 때 내 연결이 더 이상 진행되지 않는다는 것입니다. 내가 텔넷에 의해 루비의 tcp 서버에 연결하면, 모든 게 잘 작동합니다. 내 코드는 다음과 같습니다 :Ruby 2.3 Postfix SMTP 액세스 정책 위임을위한 TCP 서버 데몬

require 'socket' 
require_relative 'postfix_delegation_object' 

class Server 

    attr_reader :binding, :port 

    def initialize(binding: '127.0.0.1', port: '1988') 
    puts "Starting server now!" 
    puts "Listening on tcp://#{binding}:#{port}" 
    socket = TCPServer.new(binding, port) 

    while client = socket.accept 
     Thread.new { handle_connection(client) } 
    end 
    end 

    def handle_connection(client) 
    hash_values = {} 
    puts "New client! #{client}" 

    while line = client.gets 
    if line.include? "=" 
     key, val = line.split('=') 
     hash_values[key] = val.to_s.strip 
    else 
     pdo = PostfixDelegationObject.new(hash_values) 
     client.write("action=dunno") 
    end 
    end 

end 

end 
+0

있습니까 사용 SELinux를 실행 난 그냥 이런

'N \'두 번 입력했다? 'getenforce'를 사용하여 –

+0

No, "Debian Jessie"시스템을 검사 할 수 있습니다. –

답변

0

나는 스스로 해결할 수 있습니다. 이 하나가 작동하지 않을 것입니다

client.write("action=dunno\n\n") 

:

client.write("action=dunno") 
client.write("\n\n")