diff --git a/lib/client.js b/lib/client.js
index 2131496..5bf0b29 100644
--- a/lib/client.js
+++ b/lib/client.js
@@ -2,6 +2,7 @@ var net = require('net')
   , EventEmitter = require('events').EventEmitter
   , util = require('util')
   , protocol = require('./protocol')
+  , dns = require('dns')
   , createPacketBuffer = protocol.createPacketBuffer
   , parsePacket = protocol.parsePacket
   , debug = protocol.debug
@@ -69,7 +70,17 @@ Client.prototype.setSocket = function(socket) {
 
 Client.prototype.connect = function(port, host) {
   var self = this;
-  self.setSocket(net.connect(port, host));
+  if (port == 25565) {
+      dns.resolveSrv("_minecraft._tcp." + host, function(err, addresses) {
+      if (addresses) {
+        self.setSocket(net.connect(addresses[0].port, addresses[0].name));
+      } else {
+        self.setSocket(net.connect(port, host));
+      }
+    });  
+  } else {
+    self.setSocket(net.connect(port, host));
+  }
 };
 
 Client.prototype.end = function(reason) {