私はJavaを取り上げようとしています.これは私の2日目です. 以前に作成したサーバーに接続するチャット クライアントを作成しています (C で記述されています)。outTextArea
クライアント プログラムは、 、inTextArea
、および を持つように設定されていますsendButton
(かなり基本的なものですが、それでも基本を理解する必要があります)。現在開いているプログラムを開いたときに、チャットクライアントがソケットを開くようにしますmain
(接続情報は非表示):
Socket sock = new Socket("theServer", 0000);
プログラムが正しく接続され、開いたままになっていることはわかっています.IPがサーバーに接続するとサーバーの現在の出力が表示され、接続が閉じられるとセグメント障害が発生します。
outTextArea
ここに問題があります:をクリックしたときに、そのソケットを介して入力された文字列を送信しようとしていますsendButton
:
public void send(String outbuffer) throws Exception {
sendButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
sendMessage sender = new sendMessage();
sender.send(outTextArea.getText());
}
});
sendMessage クラス:
System.out.println(outbuffer);
PrintStream printer = new PrintStream(sock.getOutputStream());
printer.println(outbuffer);
ここで、クラスsock
で作成された を送信できないことに気付きました。main
毎回新しい接続を作成する必要なくメッセージを送信する別の方法がある場合、作成されたソケットにどのようにアクセスできるかについて興味があります。どんなアドバイスでも大歓迎です、ありがとう。