當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript ipc.net類代碼示例

本文整理匯總了TypeScript中vs/base/parts/ipc/node/ipc.net的典型用法代碼示例。如果您正苦於以下問題:TypeScript net類的具體用法?TypeScript net怎麽用?TypeScript net使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了net類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: serve

		return serve(hook).then(null, err => {
			if (!retry || platform.isWindows || err.code !== 'EADDRINUSE') {
				return Promise.reject(err);
			}

			// should retry, not windows and eaddrinuse

			return connect(hook, '').then(
				client => {
					// we could connect to a running instance. this is not good, abort
					client.dispose();
					return Promise.reject(new Error('There is an instance already running.'));
				},
				err => {
					// it happens on Linux and OS X that the pipe is left behind
					// let's delete it, since we can't connect to it
					// and the retry the whole thing
					try {
						fs.unlinkSync(hook);
					} catch (e) {
						return Promise.reject(new Error('Error deleting the shared ipc hook.'));
					}

					return setup(false);
				}
			);
		});
開發者ID:KTXSoftware,項目名稱:KodeStudio,代碼行數:27,代碼來源:sharedProcessMain.ts

示例2: setup

	private async setup(): Promise<string> {
		this._ipcHandlePath = generateRandomPipeName();

		try {
			this._server.listen(this.ipcHandlePath);
			this._server.on('error', err => console.error(err));
		} catch (err) {
			console.error('Could not start open from terminal server.');
		}

		return this._ipcHandlePath;
	}
開發者ID:PKRoma,項目名稱:vscode,代碼行數:12,代碼來源:extHostCLIServer.ts

示例3: main

function main(argv: string[]): void {
	if (argv.length !== 5) {
		return fatal('Wrong number of arguments');
	}

	if (!process.env['VSCODE_IPC_HOOK']) {
		return fatal('Missing ipc hook');
	}

	if (!process.env['VSCODE_GIT_REQUEST_ID']) {
		return fatal('Missing git id');
	}

	if (!process.env['VSCODE_GIT_ASKPASS_PIPE']) {
		return fatal('Missing pipe');
	}

	var id = process.env['VSCODE_GIT_REQUEST_ID'];
	var output = process.env['VSCODE_GIT_ASKPASS_PIPE'];
	var request = argv[2];
	var host = argv[4].substring(1, argv[4].length - 2);

	connect(process.env['VSCODE_IPC_HOOK'])
		.then(client => {
			const channel = client.getChannel<IAskpassChannel>('askpass');
			const service = new AskpassChannelClient(channel);

			return service.askpass(id, host, process.env['MONACO_GIT_COMMAND']).then(result => {
				if (result) {
					fs.writeFileSync(output, (/^Username$/i.test(request) ? result.username : result.password) + '\n');
				}

				return client;
			});
		})
		.done(c => {
			c.dispose();
			setTimeout(() => process.exit(0), 0);
		});
}
開發者ID:13572293130,項目名稱:vscode,代碼行數:40,代碼來源:askpass.ts

示例4: connect

export async function connect(handle: string): Promise<{ client: Client, driver: IDriver }> {
	const client = await connectNet(handle, 'driverClient');
	const channel = client.getChannel('driver');
	const driver = new DriverChannelClient(channel);
	return { client, driver };
}
開發者ID:,項目名稱:,代碼行數:6,代碼來源:

示例5: connectToSharedProcess

function connectToSharedProcess(): TPromise<Client> {
	return connect(process.env['VSCODE_SHARED_IPC_HOOK']);
}
開發者ID:13572293130,項目名稱:vscode,代碼行數:3,代碼來源:extensionHostProcess.ts

示例6: connectToSharedProcess

function connectToSharedProcess(): TPromise<Client> {
	return connect(process.env['VSCODE_SHARED_IPC_HOOK'], `extensionHost:${ process.env['VSCODE_WINDOW_ID'] }`);
}
開發者ID:aminroosta,項目名稱:vscode,代碼行數:3,代碼來源:extensionHostProcess.ts


注:本文中的vs/base/parts/ipc/node/ipc.net類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。