这是代码,
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
TcpListener listener;
TcpClient remoteClient;
private void Form1_Load(object sender, EventArgs e)
{
listener = new TcpListener(new IPEndPoint(IPAddress.Any, 6000));//ip为服务器IP地址,port为监听的端口
listener.Start();//开启监听
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
remoteClient = listener.AcceptTcpClient();
NetworkStream streamToClient = remoteClient.GetStream();
byte[] buffer = new byte[remoteClient.ReceiveBufferSize]; // BufferSize为缓存的大小
int bytesRead;
try
{
bytesRead = streamToClient.Read(buffer, 0, buffer.Length);
MemoryStream ms = new MemoryStream(buffer);
Image img = Image.FromStream(ms);
this.pictureBox1.Image = img;
}
catch
{
MessageBox.Show("错误!");
return;
}
}
}c#缓存buffer数据
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
TcpListener listener;
TcpClient remoteClient;
private void Form1_Load(object sender, EventArgs e)
{
listener = new TcpListener(new IPEndPoint(IPAddress.Any, 6000));//ip为服务器IP地址,port为监听的端口
listener.Start();//开启监听
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
remoteClient = listener.AcceptTcpClient();
NetworkStream streamToClient = remoteClient.GetStream();
byte[] buffer = new byte[remoteClient.ReceiveBufferSize]; // BufferSize为缓存的大小
int bytesRead;
try
{
bytesRead = streamToClient.Read(buffer, 0, buffer.Length);
MemoryStream ms = new MemoryStream(buffer);
Image img = Image.FromStream(ms);
this.pictureBox1.Image = img;
}
catch
{
MessageBox.Show("错误!");
return;
}
}
}c#缓存buffer数据
解决方案 »
- c#作品~求人出想法!
- 如何用代码模拟点击网页confirm框的确定按钮
- 急:光纤收发器、光电转换器、光猫和光端机的区别
- 实现和Excel拖动类似功能遇到的问题?
- 新手请教一个“非泵式异常”的问题,谢谢指教!
- 如何能做出来VS2005一样的可浮动可停靠的工具栏
- 求使用DES对称加密代码?
- 打开网上关于“实战揭秘:开发.Net平台应用系统框架”的demo例子时,出现错误,请帮忙解决
- c#调用TeeChart,在自定义坐标轴上如何才能不显示最大最小值
- 声明一个矩形的变量,用计算公式动态计算 该怎么计算?
- installshield应用程序和数据库安装在不同目录下
- 那位大侠帮我吧这个ASP代码转成C#.NET吧!感谢。。。。
public class ImageServer {
public static ServerSocket ss = null;
public static void main(String args[]) throws IOException{
ss = new ServerSocket(6000);
final ImageFrame frame = new ImageFrame(ss);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
while(true){
frame.panel.getimage();
frame.repaint();
}
}
}
/**
A frame with an image panel
*/
@SuppressWarnings("serial")
class ImageFrame extends JFrame{
public ImagePanel panel;public ImageFrame(ServerSocket ss){
// get screen dimensions
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width; // center frame in screen
setTitle("ImageTest");
setLocation((screenWidth - DEFAULT_WIDTH) / 2, (screenHeight - DEFAULT_HEIGHT) / 2);
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); // add panel to frame
this.getContentPane().setLayout(null);
panel = new ImagePanel(ss);
panel.setSize(640,480);
panel.setLocation(0, 0);
add(panel);
}public static final int DEFAULT_WIDTH = 640;
public static final int DEFAULT_HEIGHT = 560;
}/**
A panel that displays a tiled image
*/
@SuppressWarnings("serial")
class ImagePanel extends JPanel {
private ServerSocket ss;
private Image image;
private InputStream ins;
public ImagePanel(ServerSocket ss) {
this.ss = ss;
}public void getimage() throws IOException{
Socket s = this.ss.accept();
this.ins = s.getInputStream();
this.image = ImageIO.read(ins);
this.ins.close();
}public void paintComponent(Graphics g){
super.paintComponent(g);
if (image == null) return;
g.drawImage(image, 0, 0, null);
}}