根据网络画板(画线)分析一下思路

本文详细介绍了在制作网络画板应用时,如何通过使用数据流解决服务器绘制线条后向客户端传输的问题,包括发送按钮监听器代码实现及客户端获取数据流的正确格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

   实服务器和客户端的通信并不难,个人觉得难的是流的操作,不同的流的方法不同,而且数据流依赖于基础流,这让我在操作时候遇到了不少问题。

  言归正传,上图是我晒的在做这个网络画板时的基本思路。一共三个类,各司其职。

  我遇到的最大问题是在服务器画的线客户端收不到。然后发现自己出了n+个问题,下面是我点击发送按钮的监听器代码,实现了将服务器中队列里面的线的数据写到流里面去:

public void actionPerformed(ActionEvent e) {
						//实现发送按钮
						String cmd = e.getActionCommand();
						if(cmd.equals("send")){
							try {
								for(int i = 0;i<list.size();i++){
								dos.writeInt(list.get(i).getX1());
								dos.flush();
								dos.writeInt(list.get(i).getY1());
								dos.flush();
								dos.writeInt(list.get(i).getX2());
								dos.flush();
								dos.writeInt(list.get(i).getY2());
								dos.flush();
								System.out.println(i+"执行"+list.get(i).getX1());
								
								//System.out.println("执行");
								}
								//ous.close();
							} catch (IOException e1) {
								// TODO Auto-generated catch block
								e1.printStackTrace();
							}
							System.out.println(list.size());
						}
					}
					
				};

 PS:用的是数据流

ins = client.getInputStream();
dns = new java.io.DataInputStream(ins);

这里是客户端获取数据流时的代码,要记住格式~我一开始就是只获取了一个InputStream,出错了。所以这里的格式要记住。数据流是通过基础流得到的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值