java如何实现客户端向服务器端传送一个图片的代码,详细一点,最好能有注释,新手求解

java如何实现客户端向服务器端传送一个图片的代码,详细一点,最好能有注释,新手求解,第1张

public class SocketTest extends Thread {

private Socket so

private DataInputStream in

public static void main(String[] args) {

SocketTest app = new SocketTest()

app.startup()

}

public void startup() {

try {

// 创建服务端socket对象并指定监听端口

ServerSocket ss = new ServerSocket(9999)

System.out.println("listening...")

// 等待客户端连接

so = ss.accept()

System.out.println("connected")

// 开始读取数据

start()

} catch (Exception e) {

e.printStackTrace()

}

}

public void run() {

try {

// 创建socket输入流

in = new DataInputStream(so.getInputStream())

while (true) {

try {

// 定义接收缓冲区(64字节)

byte[] buf = new byte[64]

// 将数据读到接收缓冲区中,并返回实际读到的数据长度

int len = in.read(buf, 0, 64)

// 长度为-1说明到达输入流末尾,socket已关闭

if (len <1) {

System.out.println("closed")

break

}

System.out.println("(" + len + ")")

} catch (Exception e) {

// 读数据异常

e.printStackTrace()

}

}

} catch (Exception e) {

// 监听异常

e.printStackTrace()

}

}

}

和平常的流一样,不过就是不是逐行读取而已,而是直接接收到,然后输出到客户端某个目录下。没读取完之前,怎么会“按顺序显示”呢?没读取完,都算破损文件,根本看不了的说。还有,没听说过图片是按帧来说的。流传输的时候,只有byte


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/314914.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存