Merge pull request #137 from deathcap/webclient

Expose the Client class to browser. Refactor net-specific code out of Client.
This commit is contained in:
Robin Lambertz 2015-03-29 22:21:13 +02:00
commit 26e6a38813
3 changed files with 19 additions and 18 deletions

View File

@ -1,4 +1,5 @@
module.exports = {
Client: require('./dist/client'),
protocol: require('./dist/protocol')
};

View File

@ -1,8 +1,6 @@
var net = require('net')
, EventEmitter = require('events').EventEmitter
var EventEmitter = require('events').EventEmitter
, util = require('util')
, protocol = require('./protocol')
, dns = require('dns')
, createPacketBuffer = protocol.createPacketBuffer
, compressPacketBuffer = protocol.compressPacketBuffer
, oldStylePacket = protocol.oldStylePacket
@ -152,21 +150,6 @@ Client.prototype.setSocket = function(socket) {
}
};
Client.prototype.connect = function(port, host) {
var self = this;
if (port == 25565 && net.isIP(host) === 0) {
dns.resolveSrv("_minecraft._tcp." + host, function(err, addresses) {
if (addresses && addresses.length > 0) {
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) {
this._endReason = reason;
this.socket.end();

View File

@ -6,6 +6,8 @@ var EventEmitter = require('events').EventEmitter
, superagent = require('superagent')
, protocol = require('./protocol')
, Client = require('./client')
, dns = require('dns')
, net = require('net')
, Server = require('./server')
, Yggdrasil = require('./yggdrasil.js')
, getSession = Yggdrasil.getSession
@ -228,6 +230,21 @@ function createServer(options) {
return server;
}
Client.prototype.connect = function(port, host) {
var self = this;
if (port == 25565 && net.isIP(host) === 0) {
dns.resolveSrv("_minecraft._tcp." + host, function(err, addresses) {
if (addresses && addresses.length > 0) {
self.setSocket(net.connect(addresses[0].port, addresses[0].name));
} else {
self.setSocket(net.connect(port, host));
}
});
} else {
self.setSocket(net.connect(port, host));
}
};
function createClient(options) {
assert.ok(options, "options is required");
var port = options.port || 25565;