Poller sends requests in plain text, this is needed to preserve backwards compatibility with older agents. zabbix_get sends requests with ZBXD\1 header and package length. Since zabbix_get is often used to troubleshoot server-agent communication problems this slight difference may sometimes lead to confusion. Ideally, zabbix_get should reuse poller's code as much as possible. Also modern zabbix_get will not be understood by older agents.