サーバーとクライアントのレスポンスを使用してソケットプログラミング

1:我々は、サーバ・クラスセルヴィエを作成するために行ってきました

サーバ・クラス{公共
のpublic static無効メイン(文字列[] args){
試み{
//せるために接続されたクライアント・インターフェース
ServerSocketを=新しいServerSocketを新しいServerSocketを(8080);
System.out.printlnは(「監視サーバーの起動完了を... )」で、
アクセスするためのクライアントを待機するリスナーを開く//
ソケットソケット= serverSocket.acceptを();
//入力ストリームを取得し、クライアントがサーバにデータを送信するため
InputStream InputStreamは= Socket.getInputStream();
//バッファを作成ストリーム
BufferedReaderのBR =新しい新しいをBufferedReader(新しい新しいInputStreamReaderの(InputStreamの));
文字列情報= NULL;
しばらく{((情報= br.readLine())!= NULL)
のSystem.out.printlnは(「これはエンドクライアントサービスで、言いました: 「+情報);
}
//クライアントへの応答を作る
のOutputStreamのOutputStream = Socket.getOutputStream();
情報= "ここでは、あなたのメッセージを受け取るサーバがある";
OutputStream.write(info.getBytes());
outputStream.flush();
のOutputStream .close();
}キャッチ(例外E){
e.printStackTrace();
}
}
}

 


2:クライアントのクライアントを作成するために、私たちの次のクラス
public class Client {
public static void main(String[] args) {
try {

Socket socket=new Socket("localhost",8080);
OutputStream outputStream=socket.getOutputStream();
String info="向服务端发送消息!";
//输出!(输出流向服务器发送数据)
outputStream.write(info.getBytes());
socket.shutdownOutput();
//接收服务端的响应
InputStream inputStream1 = socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(inputStream1));
while ((info=br.readLine())!=null){
System.out.println("接受到服务端的响应"+info);
}
//刷新缓冲区
outputStream.flush();
outputStream.close();
inputStream1.close();
socket.close();

} catch (Exception e) {
e.printStackTrace();
}
}
}

3:然后我们先去启动服务端,服务端显示启动,然后再去启动客户端,每运行一次客户端,服务端都会接收到一条消息!,并且回复客户端!

おすすめ

転載: www.cnblogs.com/bdqn-dsj/p/11233815.html