socket下的图片传输

ip和port是通过全局变量获取的两个参数,作为创建socket的两个参数。socket接受图片,需要接受对应的inputstream,这里是在接收后包裹在bufferinputstream,在利用dateinputstream的参数无限制性再次包裹。readInt()方法是一个内置方法,可以判断流的长度并作为byte[]字节流的长度。利用while循环,除非流内读到-1(流内数据读完...
摘要由CSDN通过智能技术生成

ip和port是通过全局变量获取的两个参数,作为创建socket的两个参数。

socket接受图片,需要接受对应的inputstream,这里是在接收后包裹在bufferinputstream,在利用dateinputstream的参数无限制性再次包裹。

readInt()方法是一个内置方法,可以判断流的长度并作为byte[]字节流的长度。

利用while循环,除非流内读到-1(流内数据读完)。可以将流内数据都转存至byte[]中。

利用bitmap可以将字节流转化为图片。

并利用bitmapfactory可以将图片压缩并输出。

 @Override
    public int onStartCommand(final Intent intent, int flags, int startId) {

        ip_num = intent.getStringExtra("ip");
        port_num = Integer.parseInt(intent.getStringExtra("port"));
        Log.i("test", "服务启动");
        new Thread(){
            @Override
            public void run() {
                try {
                    mySocket = new Socket(ip_num,port_num);
                    in_buffer = new BufferedInputStream(mySocket.getInputStream());
                    in_date = new
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用 Python 的 socket 库来传输图片。下面是一个简单的示例代码: Server 端代码: ```python import socket # 创建一个 TCP socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定 IP 地址和端口号 server_address = ('localhost', 8888) server_socket.bind(server_address) # 监听连接 server_socket.listen(1) print('等待客户端连接...') while True: # 等待客户端连接 client_socket, client_address = server_socket.accept() print('客户端已连接:', client_address) # 接收图片数据 image_data = b'' while True: data = client_socket.recv(1024) if not data: break image_data += data # 保存接收到的图片 with open('received_image.jpg', 'wb') as file: file.write(image_data) print('图片已保存') # 关闭连接 client_socket.close() break # 关闭服务器 socket server_socket.close() ``` Client 端代码: ```python import socket # 创建一个 TCP socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 服务器 IP 地址和端口号 server_address = ('localhost', 8888) # 连接服务器 client_socket.connect(server_address) print('已连接到服务器:', server_address) # 读取图片数据 with open('image.jpg', 'rb') as file: image_data = file.read() # 发送图片数据 client_socket.sendall(image_data) print('图片已发送') # 关闭连接 client_socket.close() ``` 在代码中,Server 端监听客户端连接,接收图片数据并保存到本地。Client 端读取图片数据并发送给服务器。确保将图片文件命名为 'image.jpg',并将代码中的 IP 地址和端口号设置为正确的值。 请注意,这只是一个简单的示例,可能不适用于大型图片或高并发场景。在实际应用中,您可能需要处理更多的异常情况,并进行更复杂的错误处理和数据校验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值