今天所U學(xué)完java1到4章

明天學(xué)完異常處理和線性方程杀怠。

下周開始做任務(wù)管呵,做好熬夜的準(zhǔn)備兴垦;

5月15日

import java.io.BufferedReader;

import java.io.DataOutPutStream;

import java.io.DataInPutStream;

import java.net.SeverSocket;

import java.net.Socket;

public class Server

{

public static final int PORT=8080;

public void main(String[] args)

{

println("服務(wù)器開始混當(dāng)\n");

Sever server=new Sever();

server.init();

}

}

建立服務(wù)器日矫;

學(xué)會了了解了聊室的大致結(jié)構(gòu)茵汰,看懂了代碼廊勃。

這周一定完成任務(wù)。

希望能夠不被淘汰.

1.try的用法经窖,2finally的作用:

try{

捕捉異常

}catch(){

異常執(zhí)行塊

}finally{

不管是否有異常坡垫,都要執(zhí)行的語句塊

}

try

{

}catch(Exception ?e) {

System.out,println("有問提"+e.getMessage());

}finally

{

if(socket!=null)

try

{?

socket=null;

}catch(Exception)

{

socket=null;

System.out.println("有問提“”+e.getMessage();

}

3.所謂socket通常也稱作"套接字",用于描述IP地址和端口画侣,是一個通信鏈的句柄冰悠。應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求。

基本信息

中文名稱

套接字

外文名稱

Java Socket

描????述

IP地址和端口

屬????性

一個通信鏈

目錄1說明

2?類例子

3客戶端的例子

折疊編輯本段說明

所謂socket通常也稱作"套接字"配乱,用于描述IP地址和端口溉卓,是一個通信鏈的句柄。應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求搬泥。

以J2SDK-1.3為例桑寨,Socket和ServerSocket類庫位于java.net包中。ServerSocket用于服務(wù)器端忿檩,Socket是建立網(wǎng)絡(luò)連接時使用的尉尾。在連接成功時,應(yīng)用程序兩端都會產(chǎn)生一個Socket實例燥透,操作這個實例沙咏,完成所需的會話。對于一個網(wǎng)絡(luò)連接來說班套,套接字是平等的肢藐,并沒有差別,不因為在服務(wù)器端或在客戶端而產(chǎn)生不同級別吱韭。不管是Socket還是ServerSocket它們的工作都是通過SocketImpl類及其子類完成的吆豹。

重要的Socket API:

java.net.Socket繼承于java.lang.Object,有八個構(gòu)造器,其方法并不多痘煤,下面介紹使用最頻繁的三個方法凑阶,其它方法大家可以見JDK-1.3文檔。

. Accept方法用于產(chǎn)生"阻塞"速勇,直到接受到一個連接晌砾,并且返回一個客戶端的Socket對象實例。"阻塞"是一個術(shù)語烦磁,它使程序運行暫時"停留"在這個地方养匈,直到一個會話產(chǎn)生,然后程序繼續(xù);通常"阻塞"是由循環(huán)產(chǎn)生的都伪。

. getInputStream方法獲得網(wǎng)絡(luò)連接輸入呕乎,同時返回一個InputStream對象實例。

. getOutputStream方法連接的另一端將得到輸入陨晶,同時返回一個OutputStream對象實例猬仁。

注意:其中g(shù)etInputStream和getOutputStream方法均會產(chǎn)生一個IOException,它必須被捕獲先誉,因為它們返回的流對象湿刽,通常都會被另一個流對象使用。

折疊編輯本段?類例子

package com.lanber.socket;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

public class ServerDemo {

/**

* 注意:Socket的發(fā)送與接收是需要同步進(jìn)行的褐耳,即客戶端發(fā)送一條信息诈闺,服務(wù)器必需先接收這條信息,

* 而后才可以向客戶端發(fā)送信息铃芦,否則將會有運行時出錯雅镊。

* @param args

*/

public static void main(String[] args) {

ServerSocket ss = null;

try {

ss = new ServerSocket(8888);

//服務(wù)器接收到客戶端的數(shù)據(jù)后,創(chuàng)建與此客戶端對話的Socket

Socket socket = ss.accept();

//用于向客戶端發(fā)送數(shù)據(jù)的輸出流

DataOutputStream dos = new DataOutputStream(socket.getOutputStream());

//用于接收客戶端發(fā)來的數(shù)據(jù)的輸入流

DataInputStream dis = new DataInputStream(socket.getInputStream());

System.out.println("服務(wù)器接收到客戶端的連接請求:" + dis.readUTF());

//服務(wù)器向客戶端發(fā)送連接成功確認(rèn)信息

dos.writeUTF("接受連接請求刃滓,連接成功!");

//不需要繼續(xù)使用此連接時仁烹,關(guān)閉連接

socket.close();

ss.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

展開

折疊編輯本段客戶端的例子

package com.lanber.socket;

importjava.io.DataInputStream;

import java.io.DataOutputStream;

importjava.io.IOException;

import java.io.OutputStream;

import java.net.Socket;

import java.net.UnknownHostException;

public class ClientDemo {

/**

* @param args

*/

public static void main(String[] args) {

Socket socket = null;

try {

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

//獲取輸出流,用于客戶端向服務(wù)器端發(fā)送數(shù)據(jù)

DataOutputStream dos = new DataOutputStream(socket.getOutputStream());

//獲取輸入流咧虎,用于接收服務(wù)器端發(fā)送來的數(shù)據(jù)

DataInputStream dis = new DataInputStream(socket.getInputStream());

//客戶端向服務(wù)器端發(fā)送數(shù)據(jù)

dos.writeUTF("我是客戶端卓缰,請求連接!");

//打印出從服務(wù)器端接收到的數(shù)據(jù)

System.out.println(dis.readUTF());

//不需要繼續(xù)使用此連接時,記得關(guān)閉哦

socket.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

詞條標(biāo)簽:JAVASocket

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末老客,一起剝皮案震驚了整個濱河市僚饭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胧砰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苇瓣,死亡現(xiàn)場離奇詭異尉间,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門哲嘲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贪薪,“玉大人,你說我怎么就攤上這事眠副』校” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵囱怕,是天一觀的道長霍弹。 經(jīng)常有香客問我,道長娃弓,這世上最難降的妖魔是什么典格? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮台丛,結(jié)果婚禮上耍缴,老公的妹妹穿的比我還像新娘。我一直安慰自己挽霉,他們只是感情好防嗡,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著侠坎,像睡著了一般蚁趁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上硅蹦,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天荣德,我揣著相機與錄音,去河邊找鬼童芹。 笑死涮瞻,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的假褪。 我是一名探鬼主播署咽,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼生音!你這毒婦竟也來了宁否?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤缀遍,失蹤者是張志新(化名)和其女友劉穎慕匠,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體域醇,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡台谊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年蓉媳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖塘淑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玩荠,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布贼邓,位于F島的核電站阶冈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏立帖。R本人自食惡果不足惜眼溶,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晓勇。 院中可真熱鬧堂飞,春花似錦、人聲如沸绑咱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽描融。三九已至铝噩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窿克,已是汗流浹背骏庸。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留年叮,地道東北人具被。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像只损,于是被迫代替她去往敵國和親一姿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容