問題タブ [terminator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
6182 参照

stream - ストリーム プロトコルの作成: メッセージ サイズ フィールドまたはメッセージ区切り文字?

TCP ストリームを経由するメッセージ プロトコルを作成しようとしています。受信者は、メッセージの境界がどこにあるかを知る必要があります。

1) 固定長のメッセージ、2) 受信者がメッセージの大きさを知るためのサイズ フィールド、または 3) 一意のメッセージ ターミネータ (これはメッセージの他の場所では使用できないと思います) のいずれかを送信できます。

効率上の理由から、#1 は使用しません。

#2 は気に入っていますが、ストリームが同期しなくなる可能性はありますか?

受信者がメッセージのサイズを事前に知ることができず、ターミネータがメッセージの他の場所に表示されないようにする必要があるため、アイデア #3 は好きではありません。

#2で、同期が外れる可能性がある場合、ターミネータを追加できますか、それとも送信者プログラムが送信する内容が正しい限り、決して同期が外れないことが保証されていますか? #2と#3を行う必要がありますか?

私にお知らせください。

ありがとう、ジブ

0 投票する
3 に答える
955 参照

java - java.lang.Terminatorを適切に使用する方法は?

  • このクラスは正確に何をしますか?

  • 「終了によってトリガーされるシャットダウン」とは何ですか?

  • プログラムのどこでこれを使用しましたか、またはこのクラスの良いユースケースは何でしょうか?

0 投票する
1 に答える
679 参照

flush - AsyncSocket writeData ターミネータ

Java ミドルウェア クライアントを objC に移植しています。Java クライアントは、送信の最後に Java の stream.write と stream.flush を使用します。Java クライアントが Echo サーバーに送信するには、stream.writeBytes("\r\n"); を追加する必要があります。その後に、サーバーがメッセージを返送するための stream.flush が続きます。

ミドルウェアのサーバーにメッセージを送信するために asyncsocket を使用していますが、ソケットを正常に開いた後、ミドルウェアは asyncsocket を使用して送信されたメッセージに反応しません。

また、ミドルウェアは、ソケットが閉じているときにバッファ内のメッセージに反応しません。

私は現在使用しています

ソケットをフラッシュする

0 投票する
1 に答える
611 参照

java - java.netソケット、readlineおよびline terminator(VNC接続)

私はx11vncを使用しており、そのための単純なクライアントを開発したいと考えています。したがって、作業は次のとおりです。

  1. ソケットから情報を受け取る
  2. 情報を送る
  3. 次のデータを受信する
  4. 別の情報を送信する

や。。など。

したがって、たとえば、次の単純なコードを使用しています。

エラーなしで取得したサーバーからの最初のメッセージ(最初のreadLine)。次のメッセージは空であり(またはreadLineの行ターミネーターがありません)、無限ループが発生しています。lnr.ready()が機能しません。

では、ソケットからのデータに「\ n」、「\ r」、「\ r \ n」がない場合や、ソケットバッファーが空の場合、どうすればソケットから読み取ることができますか?

0 投票する
10 に答える
26105 参照

bash - Ubuntu のターミネーター (コンソール アプリケーション) でタブのタイトルを設定する

タブのターミネータ (バージョン: 0.95ppa1) のタイトルを bash コマンドライン (CLI) で別の文字列に設定する方法はありますか?

この機能を AutoKey で使用する予定で、複数のマシンを同時に開き、タイトルを接続先のマシンの名前に設定できます。

0 投票する
3 に答える
4149 参照

emacs - M-RETとM-UP/DOWNがコンソール/ターミナルのEmacsorg-modeで機能しない

emacs23GNOMEとCompizを搭載したUbuntu32ビット10.04/10.10で 使用しています。

Emacs(GUI)でプレーンリストを押すとM-RET、新しいアイテムが挿入されます。org-modeを押すとM-Up、アイテムがリストの上位に移動します。

emacs -nwこれらのキーは、ターミネーターとで期待どおりに機能しませんgnome-terminalM-Upキーは何もしませんが、キーM-RETはカーソルを1行下に移動し、位置をインデントするだけです。キーもで「機能」せず、代わりxtermに挿入されます。またはを\215押すと、期待される機能が生成されます。ターミネーターの下からアクセスするヘッドレスサーバーで実行した場合も、同じ問題が発生します。ESC-RETESC-Upemacs -nwsshgnome-terminalxterm

私はこれorg-modeに対する答えを一般的にそしてGmaneリストの両方で検索しましたが、何も見つかりませんでした。org-modeこれは、ターミナルエミュレータやウィンドウマネージャの既知の問題ですか、それとも関連していますか?

0 投票する
10 に答える
25793 参照

c++ - Memcpy、文字列、ターミネータ

割り当てられた長さのchar*バッファを文字列の内容で埋める関数を作成する必要があります。弦が長すぎる場合は、カットするだけです。バッファは私ではなく、私の関数のユーザーによって割り当てられます。私はこのようなことを試みました:

私の質問はターミネーターについてです:それはそこにあるべきかどうか?この関数ははるかに広いコードで使用されており、文字列をカットする必要があるときに奇妙な文字で問題が発生するように見えることがあります。

従うべき正しい手順に関するヒントはありますか?

0 投票する
4 に答える
3049 参照

terminator - 「ターミネーター」の設定、または同じ機能を実行できる任意のツールのヘルプ

プロジェクトの開発中に、gnome-terminalで複数のタブを開く必要がありました。そのうちのいくつかは単なる出力ストリームとして、その他はシェルプロンプト用です。

このタスクを自動化する方法です。複数の端末を自動的に開き、それぞれで特定のコマンドを実行するスクリプトを実行するようなものです。これらの端末は、グリッド表示などのタブ(または別のウィンドウ)ではなく、垂直または水平に表示されます。

「ターミネーター」は私が望むことを正確に実行しますが、私はそれを私が望むように動作するように構成することはできません。「レイアウト」がわかりません

これが私の'config'ファイルの一部です:

ターミネーターを実行すると、子の数が正しくないというエラーが出力され、「ターミネーター」は通常、単一の端末で表示されます。

ここで何が間違っているのかわかりません。「ターミネーター」または同じ機能を持つツールについて助けていただければ幸いです。

ありがとう。

0 投票する
4 に答える
15259 参照

java - "\0" (null) を追加した後に文字列にデータを追加することはできますか?

作成中の文字列があり、その文字列に複数の "\0" (null) 文字を追加する必要があります。各ヌル文字の間には、他のテキスト データ (ASCII 英数字のみ) があります。

私の問題は、J2SE で最初の null (\0) を追加すると、Java はそれが文字列ターミネータ (C++ と同様) であると判断し、追加される他のすべてのデータを無視するように見えることです。エラーは発生せず、末尾のデータは無視されます。文字列の null の後に追加の後続データを強制する必要があります。サポートしているレガシーデータベースに対してこれを行う必要があります。

%00 のようなものが文字列の動作の解釈をだますことを期待して、文字列をエンコード/デコードしようとしましたが、文字列を再エンコードすると、Java は再び null 文字を認識し、最初の null の後のすべてのデータを削除します。

更新: 関連するコード スニペットは次のとおりです。はい、使用しようとしていますStrings。文字を試すつもりですが、データベースに文字列として保存する必要があるため、同じ問題が発生する可能性があります。

いくつかの背景。「\n」を含む HTTP ポスト経由でデータを受信して​​います。改行を削除して「\0」に置き換える必要があります。" debug" メソッドは単純なメソッドですSystem.out.println

文字列である sNewValue はデータベースにコミットされ、文字列として実行する必要があります。sNewValueコンソールで各反復後に現在の値を表示するときに観察しているのは、次のようなものです。

入力は値1です\n値2\n値3 コンソールの出力は、このコードから私を与えています

私は期待している

value1、value2、および value3 の間にそれぞれ印刷不可能な null があります。実際にデータベースに保存される値も「value1」であることに注意してください。つまり、コンソールの表示だけの問題ではありません。\0 以降のデータは無視されています。

0 投票する
4 に答える
31700 参照

ubuntu - ターミネータターミナルエミュレータでZshを実行するときの.zshrcのキー設定(ホーム/終了/挿入/削除)を修正

Ubuntu11.04を実行しています。Terminator Terminal Emulator 0.95、およびZshバージョン4.3.15をインストールしました。
Zsh内のキーに(一般的に知られている)問題があります。少なくともこれら:

  • ホーム/エンド、何も起こりません
  • 挿入/削除/PageUp/ PageDown:「〜」が入力されます

私はすでに問題を解決するはずの.zshrcのいくつかの構成を試しましたが、これまでのところ実際に機能するアプローチはありません。多分これはターミネーターとZshの組み合わせに関連しています。このページの2つの構成を取得しました:https ://bbs.archlinux.org/viewtopic.php?pid=428669 。

誰かが同様の構成(特にターミネーターとZsh)を持っていて、キー設定を修正するために.zshrcに何を挿入する必要があるかを理解していますか?