¾È³çÇϼ¼¿ä.
Ä·¿¡¼ ÇϳªÀÇ ÇÁ·¹ÀÓ´ç ÇϳªÀÇ À̹ÌÁö·Î °¡Á®¿Í¼ tcp¸¦ ÀÌ¿ëÇؼ ½Ç½Ã°£ Àü¼ÛÇØÁÖ·Á°í ÇÕ´Ï´Ù.
ÇÁ·¹ÀÓ Çϳª¸¸ Àü¼ÛÇؼ »çÁø ÇÑÀåÀ» º¸³»ÁÖ´Â°Ç ¹®Á¦°¡ ¾ÈµÇ´Âµ¥, ½Ç½Ã°£À¸·Î ¿¬¼ÓµÈ outputÀ» ÇÏ´Â ¼ø°£ read°¡ ¾ÈµË´Ï´Ù.
¾î¶²°Ô ¹®Á¦ÀÎÁö Àß ¸ð¸£°Ú½À´Ï´Ù...¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð
¾Ë·ÁÁÖ¼¼ŸG....
package server;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
import common.FrameByteArrayOutputStream;
public class ServerThread extends Thread
{
ServerSocket serverSocket;
Socket socket;
JPanel panel;
public ServerThread(ServerSocket serverSocket, JPanel panel)
{
this.serverSocket = serverSocket;
this.panel = panel;
}
public void run()
{
try
{
socket = serverSocket.accept();
socket.setTcpNoDelay(true);
InputStream in = socket.getInputStream();
ObjectInputStream ois = new ObjectInputStream(in);
while (ServerUI.calling)
{
FrameByteArrayOutputStream fbaos = (FrameByteArrayOutputStream) ois.readObject();
InputStream inputImage = new ByteArrayInputStream(fbaos.toByteArray());
BufferedImage bufferedImage = ImageIO.read(inputImage);
panel.getGraphics().drawImage(bufferedImage, 0, 0, null);
}
System.out.println("finish");
}
catch (IOException e)
{
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package client;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import javax.imageio.ImageIO;
import common.FrameByteArrayOutputStream;
import video.VideoCap;
public class ClientThread extends Thread
{
String formatType = "bmp";
String serverIp;
int serverPort;
Socket socket;
VideoCap videoCap;
public ClientThread(Socket socket, String serverIp, int serverPort, VideoCap videoCap)
{
this.socket = socket;
this.serverIp = serverIp;
this.serverPort = serverPort;
this.videoCap = videoCap;
}
public void run()
{
try
{
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
while (ClientUI.calling)
{
FrameByteArrayOutputStream fbaos = new FrameByteArrayOutputStream();
ImageIO.write(videoCap.getOneFrame(), formatType, fbaos);
System.out.println(fbaos.size());
oos.writeObject(fbaos);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
|
ÆÄÀϵ¿½ÃÁ¢¼ÓÀÌ ¾ÈµÇµíÀÌ
Ä·¿¡ µ¿½Ã Á¢¼ÓÀÌ ¾î·Á¿ï°Ì´Ï´Ù
ÀÏÁ¤½Ã°£ÀÇ °¸À»Á༠¸Þ¸ð¸® Á¢±ÙÀÌ
°¡´ÉÇÏ°Ô ÇØÁÖ¼¼¿ä