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

為了賬號安全,請及時綁定郵箱和手機立即綁定

跟著做的,可是有錯誤,關于socket,,,

package com.imooc;

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;


/*

?* 基于TCP協議的Socket通信,實現用戶登錄 ? ? ? ??

?* 服務器端

?*/

public class Server {

public static void main(String[] args) {

try {//1.創建一個服務器端Socket,即ServerSocket,指定綁定的端口,并監聽此端口

ServerSocket serverSocket=new ServerSocket(8888);

//2.調用accept()方法開始監聽,等待客戶端的連接

System.out.println("******服務器即將啟動等待客戶端的連接**********");

Socket socket=serverSocket.accept();

//3.獲取輸入流,讀取客戶端信息

InputStream is=socket.getInputStream();//字節輸入流

InputStreamReader isr=new InputStreamReader(is);//將字節流轉換為字符流

BufferedReader br=new BufferedReader(isr);//為字符流添加緩沖

String info=null;

while((info=br.readLine())!=null){

System.out.println("我是服務器??蛻舳苏f :"+info);

}

socket.shutdownInput();//關閉輸入流

//4.獲取輸出流,響應客戶端的請求

OutputStream os=socket.getOutputStream();

PrintWriter pw=new PrintWriter(os);//包裝為打印流

pw.write("歡迎您!");//響應客戶端

pw.flush();//刷新緩存

//5.關閉資源

pw.close();

os.close();

is.close();

isr.close();

br.close();

serverSocket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}





package com.imooc;


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.Socket;

import java.net.UnknownHostException;


/*

?* 客戶端

?*/

public class Client {

public static void main(String[]args){ ? ? ? ? ?

try {

//1.創建客戶端Socket,指定地址和服務器端口

Socket socket;

socket = new Socket("localhost",8888);

//2.獲取輸出流,向服務器端發送信息

OutputStream os= socket.getOutputStream();

//字節輸出流

PrintWriter pw=new PrintWriter(os);//將輸出流轉換為打印流

pw.write("用戶名:admin;密碼:123");

socket.shutdownOutput();//關閉輸出流,寫入的數據將被發送

//3.獲取輸入流,并獲取服務器端的響應信息

InputStream is=socket.getInputStream();

BufferedReader br=new BufferedReader(new InputStreamReader(is));

String info=null;

while((info=br.readLine())!=null){

System.out.println("我是客戶端,服務器端說:"+info);

}

//4.關閉資源

os.close();

pw.close();

socket.close();

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

http://img1.sycdn.imooc.com//56d2e97e000112cf07090334.jpg

正在回答

1 回答

是不是先啟動了客戶端??蛻舳说膕ocket聲明的時候初始化為null試試

0 回復 有任何疑惑可以回復我~
#1

啊梨真神奇 提問者

并不是哦~啟動服務器端,再啟動客戶端,客戶端的socket初始化為null還是木有用哦~~
2016-02-29 回復 有任何疑惑可以回復我~
#2

zhangdi0534 回復 啊梨真神奇 提問者

是不是電腦彈出來請求頁面,你給拒絕了?
2016-03-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

跟著做的,可是有錯誤,關于socket,,,

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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