当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Socket.setEncoding方法代码示例

本文整理汇总了TypeScript中net.Socket.setEncoding方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Socket.setEncoding方法的具体用法?TypeScript Socket.setEncoding怎么用?TypeScript Socket.setEncoding使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.Socket的用法示例。


在下文中一共展示了Socket.setEncoding方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: Buffer

	messages.forEach((message: IMessage) => {
		if (!config.readChat) {
			return;
		}
		if ((!config.readMessage) && message.type === MESSAGE_TYPE_MESSAGE) {
			return;
		}
		if ((!config.readBalloon) && message.type === MESSAGE_TYPE_BALLOON) {
			return;
		}
		if ((!config.readAnnounce) && message.type === MESSAGE_TYPE_ANNOUNCE) {
			return;
		}
		if ((!config.readLikes) && message.type === MESSAGE_TYPE_LIKES) {
			return;
		}
		let client: Socket = new net.Socket();
		client.setEncoding('binary');
		client.on("error", () => {
			mainWindow.webContents.send("error", "棒読みちゃんに接続できません。棒読みちゃんが起動していることを確認してください。");
		});
		client.connect(50001, "localhost", () => {
			let text: string = message.message;
			if (message.type === MESSAGE_TYPE_LIKES) {
				text = "Eねされました。";
			} else {
				text = text.replace(/https?:\/\/[\-_\.!~*'\(\)a-zA-Z0-9;/\?:@&=\+\$,%#]+/g, "(URL省略)");
			}
			if (config.readNickname) {
				text += " " + message.nickname;
			}
			let textBuffer: Buffer = new Buffer(text, 'utf8');
			let headerBuffer: Buffer = new Buffer(15);
			headerBuffer.writeUInt16LE(0x0001, 0); // command
			headerBuffer.writeUInt16LE(0xFFFF, 2); // speed
			headerBuffer.writeUInt16LE(0xFFFF, 4); // tone
			headerBuffer.writeUInt16LE(0xFFFF, 6); // volume
			headerBuffer.writeUInt16LE(0x0000, 8); // voice
			headerBuffer.writeUInt8(0x00, 10); // charset
			headerBuffer.writeUInt32LE(textBuffer.length, 11); // length
			client.write(headerBuffer.toString('binary') + textBuffer.toString('binary'), 'binary', () => {
				client.destroy();
			});
		});
	});
开发者ID:MaxMEllon,项目名称:SavannaTalk,代码行数:45,代码来源:main.ts

示例2: createFd

    private createFd(): void
    {
        if (this.m_fd != null)
            return;

        var self = this;

        this.m_fd = new Socket();

        /*
         * We manage the encoding ourselves.
         * 
         * Some servers/clients might be using ISO-646 or ISO-8859-1
         */
        this.m_fd.setEncoding(null);

        this.m_fd.on('data', data => self.onData(data));
        this.m_fd.on('connect', d => self.onConnected());
        this.m_fd.on('close', hadError => self.onClosed(hadError));
        this.m_fd.on('error', error => self.onError(error));
    }
开发者ID:Kelmar,项目名称:LunaIRC,代码行数:21,代码来源:tcpTransport.ts

示例3: speakWin

function speakWin(text: string): void {
	let client: Socket = new net.Socket();
	client.setEncoding('binary');
	client.on("error", () => {
		mainWindow.webContents.send("error", "棒読みちゃんに接続できません。棒読みちゃんが起動していることを確認してください。");
	});
	client.connect(50001, "localhost", () => {
		let textBuffer: Buffer = new Buffer(text, 'utf8');
		let headerBuffer: Buffer = new Buffer(15);
		headerBuffer.writeUInt16LE(0x0001, 0); // command
		headerBuffer.writeUInt16LE(0xFFFF, 2); // speed
		headerBuffer.writeUInt16LE(0xFFFF, 4); // tone
		headerBuffer.writeUInt16LE(0xFFFF, 6); // volume
		headerBuffer.writeUInt16LE(0x0000, 8); // voice
		headerBuffer.writeUInt8(0x00, 10); // charset
		headerBuffer.writeUInt32LE(textBuffer.length, 11); // length
		client.write(headerBuffer.toString('binary') + textBuffer.toString('binary'), 'binary', () => {
			client.destroy();
		});
	});
}
开发者ID:data9824,项目名称:SavannaTalk,代码行数:21,代码来源:main.ts

示例4: constructor

  constructor(
    file: string,
    args: ArgvOrCommandLine,
    env: string[],
    cwd: string,
    cols: number,
    rows: number,
    debug: boolean,
    private _useConpty: boolean | undefined
  ) {
    if (this._useConpty === undefined || this._useConpty === true) {
      this._useConpty = this._getWindowsBuildNumber() >= 18309;
    }
    if (this._useConpty) {
      if (!conptyNative) {
        conptyNative = loadNative('conpty');
      }
    } else {
      if (!winptyNative) {
        winptyNative = loadNative('pty');
      }
    }
    this._ptyNative = this._useConpty ? conptyNative : winptyNative;

    // Sanitize input variable.
    cwd = path.resolve(cwd);

    // Compose command line
    const commandLine = argsToCommandLine(file, args);

    // Open pty session.
    let term: IConptyProcess | IWinptyProcess;
    if (this._useConpty) {
      term = (this._ptyNative as IConptyNative).startProcess(file, cols, rows, debug, this._generatePipeName());
    } else {
      term = (this._ptyNative as IWinptyNative).startProcess(file, commandLine, env, cwd, cols, rows, debug);
      this._pid = (term as IWinptyProcess).pid;
      this._innerPid = (term as IWinptyProcess).innerPid;
      this._innerPidHandle = (term as IWinptyProcess).innerPidHandle;
    }

    // Not available on windows.
    this._fd = term.fd;

    // Generated incremental number that has no real purpose besides  using it
    // as a terminal id.
    this._pty = term.pty;

    // Create terminal pipe IPC channel and forward to a local unix socket.
    this._outSocket = new Socket();
    this._outSocket.setEncoding('utf8');
    this._outSocket.connect(term.conout, () => {
      // TODO: Emit event on agent instead of socket?

      // Emit ready event.
      this._outSocket.emit('ready_datapipe');
    });

    this._inSocket = new Socket();
    this._inSocket.setEncoding('utf8');
    this._inSocket.connect(term.conin);
    // TODO: Wait for ready event?

    if (this._useConpty) {
      const connect = (this._ptyNative as IConptyNative).connect(this._pty, commandLine, cwd, env, this._$onProcessExit.bind(this));
      this._innerPid = connect.pid;
    }
  }
开发者ID:sedwards2009,项目名称:extraterm,代码行数:68,代码来源:windowsPtyAgent.ts

示例5: Error

import * as net from 'net'

let argv: string[] = process.argv.slice(2)
const firstArg: string | undefined = argv.shift()
let port: string
if (firstArg === undefined) {
  throw new Error('Expected port as the first argument')
} else {
  port = firstArg
}

let client = new net.Socket()
client.setEncoding('utf8')
process.stdout.setEncoding('utf8')
process.stdin.setEncoding('utf8')

let isConnected = false

client.on('data', (data) => {
  process.stdout.write(data.toString())
})
process.stdin.on('readable', () => {
  let chunk = process.stdin.read()
  if (chunk !== null) {
    if (isConnected) {
      client.write(chunk)
    } else {
      client.on('connect', () => {
        client.write(chunk)
      })
    }
开发者ID:dotty-staging,项目名称:dotty,代码行数:31,代码来源:passthrough-server.ts


注:本文中的net.Socket.setEncoding方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。