[Chrome App] TCP 소켓 연결 블럭

HTML5 기반의 Chrome APP 을 만들려고 하는데 실시간으로 데이터를 주고 받아야 하는 이슈가 있어
Chrome API 에 나와 있는 Network Communication 내용과 Chrome App Sample 의 Telnet 예제를 보고 테스트중…

TcpClient.prototype._onCreate = function(createInfo) {
	this.socketId = createInfo.socketId;
	if (this.socketId > 0) {
		socket.connect(this.socketId, this.host, this.port, this._onConnectComplete.bind(this));
		this.isConnected = true;
	} else {
		error('Unable to create socket');
	}

};

위의 내용중 socket.connect 함수 부분에 BLOCK이 되고 더 이상 진행이 안되는 문제가 발생됨.

예제 소스

var host = document.getElementById('host').value;
var port = parseInt(document.getElementById('port').value, 10);
connect(host, port);

테스트 소스

var host = document.getElementById('host').value;
var port = document.getElementById('port').value;
connect(host, realPort);

소스의 차이는 보면 알 수 있지만 connect 라는 함수의 인자는 Host(String), Port(Integer) 를 넘겨줘야 하는데
테스트 소스는 Port(String) 타입으로 전달해서 문제가 발생된 내용이다.
Javascript의 type 이 없는 부분에 대한 어려움을 이번에 깨달음.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s