您的位置:首页 > 编程语言 > Java开发

JAVA socket传输图片

2017-02-20 14:45 141 查看
Server端:

import java.net.*;
import java.sql.SQLException;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;
import java.io.*;

public class ServerTest extends Thread
{
private ServerSocket serverSocket;
Socket server;

public ServerTest(int port) throws IOException, SQLException, ClassNotFoundException, Exception
{
serverSocket = new ServerSocket(port);
serverSocket.setSoTimeout(180000);
}

public void run()
{
while(true)
{
try
{
server = serverSocket.accept();
DataInputStream din=new DataInputStream(server.getInputStream());
DataOutputStream dout=new DataOutputStream(server.getOutputStream());

dout.writeUTF("server: -i am greeting server");
dout.writeUTF("server:- hi! hello client");

System.out.println(din.readUTF());
System.out.println(din.readUTF());

BufferedImage img=ImageIO.read(ImageIO.createImageInputStream(server.getInputStream()));

ImageIO.write(img,"jpg",new File("F:\\test.jpg"));
System.out.println("Image received!!!!");
//lblimg.setIcon(img);
}
catch(SocketTimeoutException st)
{
System.out.println("Socket timed out!");
break;
}
catch(IOException e)
{
e.printStackTrace();
break;
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}

public static void main(String [] args) throws IOException, SQLException, ClassNotFoundException, Exception
{
//int port = Integer.parseInt(args[0]);
Thread t = new ServerTest(6066);
t.start();
}
}

Client:

package lisa;

import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.image.BufferedImage;

import javax.imageio.*;
import javax.swing.ImageIcon;

public class ClientTest
{
Image newimg;
static BufferedImage bimg;
byte[] bytes;

public static void main(String [] args)
{
String serverName = "localhost";
int port = 6066;
try
{
System.out.println("Connecting to " + serverName
+ " on port " + port);
Socket client = new Socket(serverName, port);

System.out.println("Just connected to "
+ client.getRemoteSocketAddress());

DataInputStream in=new DataInputStream(client.getInputStream());
System.out.println(in.readUTF());
System.out.println(in.readUTF());

DataOutputStream out =
new DataOutputStream(client.getOutputStream());

out.writeUTF("Hello from "
+ client.getLocalSocketAddress());
out.writeUTF("client: hello to server");

ImageIcon img1=new ImageIcon("Ashish.jpg");
Image img = img1.getImage();
Image newimg = img.getScaledInstance(100, 120, java.awt.Image.SCALE_SMOOTH);
ImageIcon newIcon = new ImageIcon(newimg);

bimg = ImageIO.read(new File("F:\\dili.jpg"));

ImageIO.write(bimg,"JPG",client.getOutputStream());
System.out.println("Image sent!!!!");
client.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: