導航:首頁 > 編程語言 > java面試題socket方面

java面試題socket方面

發布時間:2024-12-11 23:27:51

java 問題,用socket編寫一個客戶端程序

給你一個我寫的示例,用的是基於TCP的Socket技術,你鍛煉一下,改一改,不會改再找我!
客戶端:
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class TcpClient {

public static void main(String[] args) throws Exception
{
//創建客戶端Socket服務,並且制定主機和ank
Socket s = new Socket("192.168.1.104",10002);//連接固定的主機和埠

//為了發送數據,獲取Socket中的輸入輸出流
OutputStream out = s.getOutputStream();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = null;

//讀取伺服器發過來的數據
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];

while((line = br.readLine())!=null)
{
out.write(line.getBytes());
if("886".equals(line))
break;

int len = in.read(buf);
String content = new String(buf,0,len);
System.out.println("Server:"+content);
}

s.close();

}
}

伺服器:
/*
* 需求分析:
* 使用TCP協議,寫伺服器端。做到伺服器能收到客戶端的信息,也能向客戶端發送信息
* */

package JavaNetProgramming;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class TcpServer {
public static void main(String[] args) throws Exception
{
//建立伺服器的Socket服務,並且監聽一個埠
ServerSocket ss = new ServerSocket(10002);
Socket s = ss.accept();
InputStream is = s.getInputStream();

//從伺服器端向客戶端發送數據
OutputStream out = s.getOutputStream();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = null;

while(true)
{
//通過accept()方法獲得客戶端傳過來的Socket對象

// System.out.println("getByNanme():"+s.getInetAddress());
System.out.print("getHostAddress():"+s.getInetAddress().getHostAddress());

//獲取客戶端發過來的數據,就要使用客戶端對象的讀取流來讀取數據

byte[] buf = new byte[1024];
int len = is.read(buf);//把流中數據讀到位元組數組中
String content = new String(buf,0,len);
System.out.println(" "+content);

if("886".equals(content))
break;
while((line = br.readLine())!=null)
{
out.write(line.getBytes());
break;
}

}

s.close(); //循環內有判斷語句,這句話才不出錯
ss.close();

}

}

閱讀全文

與java面試題socket方面相關的資料

熱點內容
光碟中的文件怎麼修改 瀏覽:555
win10區分詳細版本號 瀏覽:618
微信單個表情圖片在哪 瀏覽:868
華為g7如何備份數據 瀏覽:221
怎麼永久退微信群 瀏覽:548
哪個app可以下載破 瀏覽:708
哪個國家編程系 瀏覽:413
仿製圖章工具無效 瀏覽:267
圓極坐標編程怎麼編 瀏覽:170
怎麼查看6s是什麼版本 瀏覽:250
手機移動網路無法打電話什麼原因 瀏覽:803
女巫與聖徒jk店鋪在哪個app 瀏覽:383
網上商城資料庫表 瀏覽:838
linux循環拷貝文件 瀏覽:354
京東怎麼修改郵箱賬號密碼 瀏覽:304
如何判斷網路的距離 瀏覽:216
如何在網站上放文件給別人下載 瀏覽:153
老款馬三鑰匙如何編程 瀏覽:958
平板電腦怎麼開壓縮文件 瀏覽:346
網站服務內容選什麼 瀏覽:491

友情鏈接