想用JAVA SOCKTS写一个简单的CS结构程序。一、客户端程序:
1、先建立连接:
server = new Socket(InetAddress.getLocalHost(), _server_port);2、再新建XMLDocument
XmlTestDocument doc = XmlTestDocument .Factory.newInstance();
//再往 doc 里填数据
...3、再将doc的数据发送到server
doc.save(server.getOutputStream());
doc.save(System.out); //同时将数据输出,在此处可以看到输出数据的XML文件格式和内容完合正确。4、等侍SERVER的回应数据包
XmlTestDocument rspDoc = XmlTestDocument .Factory.parse(in);二. Server 端程序
前面没什么好说的,下面是一个有客户端连接上来时会进入的一个处理函数
@param:
public void serve(InputStream i, OutputStream o)
{
//我直接使用 parse(i) 等侍数据输入,
XmlTestDocument doc = XmlTestDocument .Factory.parse(i);-----------------------------------------------
问题就在这里:一直等在这里,不管客户端发多少数据,程序都一直执行在这条语句上,想问下大家我下面的哪个地方写错了?
----------------------------------------------
}还有另外想问一个问题,如果我这种设计方式,万一发送请求的时候不完整,这个连接就死等了,客户端等SERVER发数据,SERVER又在等CLIENT的数据,有什么好的方法可以不出现这种情况吗?比如可以设置超时之类的。
1、先建立连接:
server = new Socket(InetAddress.getLocalHost(), _server_port);2、再新建XMLDocument
XmlTestDocument doc = XmlTestDocument .Factory.newInstance();
//再往 doc 里填数据
...3、再将doc的数据发送到server
doc.save(server.getOutputStream());
doc.save(System.out); //同时将数据输出,在此处可以看到输出数据的XML文件格式和内容完合正确。4、等侍SERVER的回应数据包
XmlTestDocument rspDoc = XmlTestDocument .Factory.parse(in);二. Server 端程序
前面没什么好说的,下面是一个有客户端连接上来时会进入的一个处理函数
@param:
public void serve(InputStream i, OutputStream o)
{
//我直接使用 parse(i) 等侍数据输入,
XmlTestDocument doc = XmlTestDocument .Factory.parse(i);-----------------------------------------------
问题就在这里:一直等在这里,不管客户端发多少数据,程序都一直执行在这条语句上,想问下大家我下面的哪个地方写错了?
----------------------------------------------
}还有另外想问一个问题,如果我这种设计方式,万一发送请求的时候不完整,这个连接就死等了,客户端等SERVER发数据,SERVER又在等CLIENT的数据,有什么好的方法可以不出现这种情况吗?比如可以设置超时之类的。
解决方案 »
- 正则实现EL表达式的替换
- sft文件传输
- 请教一个java的应用程序
- .......问题......期待......您的......回答.....!!!......
- 字符界面中输入问题
- 非常急:请问各位朋友,哪里有JDBC For Forpro的驱动程序可供下载,或这方面资料,谢谢了!
- 文件操作的问题(jsp的)
- 帮帮菜鸟介绍几本java入门的书吧~!
- 我想买书,是买THINKING IN JAVA中文第二版好还是买JAVA核心技术卷一 + 卷二好?
- 大家能否帮我解决一个关于读文件的问题,谢谢!
- 一个简单的GUI问题,帮忙解决一下
- socket接收服务器的消息,如何实现在10秒内如果服务器没回消息,就断掉socket连接,结束接收状态?
这年头搞一个通用的开发工具得了,要累死人了.
http://community.csdn.net/Expert/TopicView3.asp?id=5019713
解答了,二个一起给分。200分。
socket.setSoTimeout(30000); //读socket数据超时为30秒