亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個java網絡聊天室很多不懂

這個java網絡聊天室很多不懂

慕先生4463397 2017-10-24 17:10:47
package com.tz.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import java.util.Scanner;/**?* @author 墨風?* 模擬客戶端?*/public class Client { public static void main(String[] args) throws IOException{ //1.創建客戶端對象 //Socket socket = new Socket("192.168.2.132",8888); //Socket socket = new Socket("localhost",8888);//localhost表示本機IP Socket socket = new Socket(InetAddress.getLocalHost(),8888); InputStream is = socket.getInputStream(); OutputStream os = socket.getOutputStream(); //將字節流轉化為字符流 PrintWriter pw = new PrintWriter(os,true); BufferedReader br = new BufferedReader(new InputStreamReader(is)); Scanner input = new Scanner(System.in); while(true){ String info = input.nextLine(); //通過流發送信息 pw.println("客戶端說:"+info); String info1 = br.readLine(); System.out.println(info1); if(info1.endsWith("bye")||info.endsWith("bye")){ break; } } }}package com.tz.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;/**?* @author 墨風?* 模擬服務器端?*/public class Server { public static void main(String[] args) throws Exception { //1.創建對象 ServerSocket ss = new ServerSocket(8888); //2.開啟服務器監聽 Socket s = ss.accept(); InputStream is = s.getInputStream(); OutputStream os = s.getOutputStream(); PrintWriter pw = new PrintWriter(os,true); BufferedReader br = new BufferedReader(new InputStreamReader(is)); Scanner input = new Scanner(System.in); while(true){ String info = br.readLine(); System.out.println(info); String info1 = input.nextLine(); pw.println("服務器說:"+info1); if(info1.endsWith("bye")||info.endsWith("bye")){ break; } } }}我有幾點不懂:為什么要使用超類只是為了轉換時傳參?客戶端中的nextLine()此掃描器執行當前行,并返回跳過的輸入信息。不太懂啥意思客戶端中的這個if(info1.endsWith("bye")||info.endsWith("bye")){break;}啥意思客戶端和服務器就通過socket通信?他們的代碼是靠什么關聯的比如父類與子類他們有個extends可以簡要說下這個原理嗎?????跪求大神
查看完整描述

1 回答

已采納
?
慕沐9307871

TA貢獻27條經驗 獲得超9個贊

  1. 問題不清

  2. nextLine()表示讀取控制臺輸入的一行信息,并以返回值形式返回

  3. 客戶端控制臺輸入“bye”或服務端給客戶端返回了“bye”結束循環,也就是關閉Socket

  4. 代碼不需要關聯,也就是這兩段代碼分別運行在兩個機子上都可以;它們是通過網絡傳輸的。比如客戶端用Java寫,服務端用C#寫一樣可以通訊。

查看完整回答
反對 回復 2017-10-26
  • 1 回答
  • 0 關注
  • 1494 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號