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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JAVA TCP/IP网络通讯编程(二)

發布時間:2023/12/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA TCP/IP网络通讯编程(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個實例通過client端和server端通訊

客戶端通過TCP/IP傳輸資源文件,比如圖片,文字,音頻,視頻等.....

服務端接受到文件存入本地磁盤,返回接受到:“收到來自于"+s.getInetAddress().getHostName()+"的信息”

?

TestTCP3:

附源碼:

package com.ykw.net;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

import org.junit.Test;

//TCP編程例三:從客戶端發送文件給服務端,服務端保存到本地。并返回"發送成功"給客戶端。并關閉相應的連接
public class TestTCP3 {

?? ?@Test
?? ?public void client()throws Exception{
?? ??? ?//1.創建Socket的對象
?? ??? ?Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),9898);
?? ??? ?//2.從本地獲取一個文件發送給服務端
?? ??? ?OutputStream os = socket.getOutputStream();
?? ??? ?FileInputStream fis = new FileInputStream(new File("1.jpg"));
?? ??? ?byte[] b = new byte[1024];
?? ??? ?int len;
?? ??? ?while((len=fis.read(b))!=-1){
?? ??? ??? ?os.write(b,0,len);
?? ??? ?}
?? ??? ?socket.shutdownOutput();
?? ??? ?//3.接受來自于服務端的信息
?? ??? ?InputStream is = socket.getInputStream();
?? ??? ?byte[] b1 = new byte[1024];
?? ??? ?int len1;
?? ??? ?while((len1 = is.read(b1))!=-1){
?? ??? ??? ?String str = new String(b1,0,len1);
?? ??? ??? ?System.out.println(str);
?? ??? ?}
?? ??? ?//4.關閉相應的流和Socket對象
?? ??? ?is.close();
?? ??? ?os.close();
?? ??? ?fis.close();
?? ??? ?socket.close();
?? ?}
?? ?
?? ?@Test
?? ?public void server()throws Exception{
?? ??? ?//1.創建一個ServerSocket對象
?? ??? ?ServerSocket ss = new ServerSocket(9898);
?? ??? ?//2.調用其accept()方法,返回一個Socket對象
?? ??? ?Socket s = ss.accept();
?? ??? ?//3.將從客戶端發送過來的信息保存到本地
?? ??? ?InputStream is = s.getInputStream();
?? ??? ?FileOutputStream fos = new FileOutputStream(new File("D://5.jpg"));
?? ??? ?byte[] b = new byte[1024];
?? ??? ?int len;
?? ??? ?while((len = is.read(b))!=-1){
?? ??? ??? ?fos.write(b,0,len);
?? ??? ?}
?? ??? ?System.out.println("收到來自于"+s.getInetAddress().getHostAddress()+"的文件");
?? ??? ?//4.發送“接收成功”的信息反饋給客戶端
?? ??? ?OutputStream os = s.getOutputStream();
?? ??? ?os.write("您發送的圖片我已接收成功".getBytes());
?? ??? ?//5.關閉相應的流和Socket及ServerSocket的對象
?? ??? ?os.close();
?? ??? ?fos.close();
?? ??? ?is.close();
?? ??? ?s.close();
?? ??? ?ss.close();
?? ?}
}

轉載于:https://www.cnblogs.com/yukewei/p/5041165.html

總結

以上是生活随笔為你收集整理的JAVA TCP/IP网络通讯编程(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

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