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();
}
}
}
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();
}
}
}
相关文章推荐
- Java Socket连续传输多张图片(不断开链接)
- java socket通信-传输文件图片--传输图片
- java socket通信-传输文件图片--传输图片
- java socket通信-传输文件图片_传输图片
- java socket通信-传输文件图片--传输图片
- java socket通信-传输文件图片--传输图片
- java socket通信-传输文件图片
- Java Socket传输图片
- java socket通信-传输文件图片--传输图片
- java socket通信-传输文件图片
- java socket通信-传输文件图片--传输图片
- java socket通信-传输文件图片
- java socket通信-传输文件图片
- java socket通信-传输文件图片--传输图片
- XML方式传输图片
- 使用HttpHandlers异步传输图片
- Java Socket实战之七 使用Socket通信传输文件
- Xfire 图片(image) webservice byte 加密 传输 ---- 上传
- js压缩上传的图片,并转化为base64字符串传输
- 使用boost 的thread和asio库实现jpeg图片传输