日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的的socket编程_javasocket编程

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的的socket编程_javasocket编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java中的網路編程主要是Java的Socket編程,屬于JavaEE中的高級的部分,以下內容是對java網路編程的一個小結,代碼都是經過編譯調試的

C/S程序應用:客戶/服務器模式,如QQ客戶端,客戶端連到服務器上,一個C/S模式的應用必須有兩套程序,一個是客戶端的程序,一個是服務器程序。

B/S程序應用:瀏覽器/服務器模式,如當下的各種網站都是B/S模式,所有的程序代碼都在服務器上,用戶通過瀏覽器去訪問。

C/S程序分為兩種:

基于TCP協議:Socket(套接字), 可靠的編程: A->B 如打電話先建立連接

基于UDP協議:不可靠,如短信功能。

如果編寫一個TCP程序需要JAVA的兩個包支持:

java.net.*: 主要提供網絡支持;

|-ServerSocket類:服務器端程序

|-Socket類:客戶端程序

java,io.*:傳遞信息流

客戶端的兩個功能:

1.建立Socket

2.接收輸入的命令(輸入流)->網絡上傳輸的程序考的是字節流

以下是服務器端,客戶端的兩個事例程序,服務器端想客戶端輸出Hello word, 客戶端接收并顯示;

服務器程序:import?java.io.*;

import?java.net.*;

public?class?TCPSever?{

/**

*?@param?args

*?@throws?IOException

*/

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

//?TODO?Auto-generated?method?stub

//使用ServerSocket

ServerSocket?server?=?new?ServerSocket(8000);

//每個用戶在程序中就是一個Socket

Socket?client?=?null;

//等待客戶端連接

client?=?server.accept();

//像客戶端打印信息

PrintWriter?out?=?null;

//準被向客戶端打印信息

out?=?new?PrintWriter(client.getOutputStream());

out.println("Hello?World");

out.close();

client.close();

server.close();

}

}

客戶端程序:package?Client;

import?java.io.*;

import?java.net.*;

public?class?TCPClient?{

/**

*?@param?args

*?@throws?IOException

*?@throws?UnknownHostException

*/

public?static?void?main(String[]?args)?throws?UnknownHostException,?IOException?{

//?TODO?Auto-generated?method?stub

//表示一個客戶端的Socket

Socket?client?=?null;

//表示一個客戶端的輸入信息

BufferedReader??buf?=?null;

client?=?new?Socket("localhost",8000);

buf?=?new?BufferedReader(new?InputStreamReader(client.getInputStream()));

System.out.println(buf.readLine());

buf.close();

client.close();

}

}

在JDK中也準備了兩個專門用于實現UDP的類

1.DatagramScoket

2.DatagramPacket

服務器端程序:package?Client;

import?java.io.*;

import?java.net.*;

public?class?TCPClient?{

/**

*?@param?args

*?@throws?IOException

*?@throws?UnknownHostException

*/

public?static?void?main(String[]?args)?throws?UnknownHostException,?IOException?{

//?TODO?Auto-generated?method?stub

//表示一個客戶端的Socket

Socket?client?=?null;

//表示一個客戶端的輸入信息

BufferedReader??buf?=?null;

client?=?new?Socket("localhost",8000);

buf?=?new?BufferedReader(new?InputStreamReader(client.getInputStream()));

System.out.println(buf.readLine());

buf.close();

client.close();

}

}

客戶端程序:package?Test4;

import?java.io.*;

import?java.net.*;

public?class?UDPClient?{

/**

*?@param?args

*?@throws?IOException

*/

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

//?TODO?Auto-generated?method?stub

DatagramSocket?ds?=?null;

DatagramPacket?dp?=?null;

byte[]?b?=?new?byte[1024];

ds?=?new?DatagramSocket(8000);

dp?=?new?DatagramPacket(b,b.length);

ds.receive(dp);

String?str?=?new?String(dp.getData(),0,dp.getLength());

System.out.println(str);

}

}

總結

以上是生活随笔為你收集整理的java的的socket编程_javasocket编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。