DiskFileItemFactory factory = new DiskFileItemFactory()
factory.setSizeThreshold(1024 * 1024)// 设置最多只允许在内存中存储的数据, 单位:字节
factory.setRepository(cachepath)// 设置一旦文件大小超过设定值时数据存放的目录
ServletFileUpload srvFileUpload = new ServletFileUpload(factory)
srvFileUpload.setSizeMax(1024 * 1024 * 1024)// 设置允许用户上传文件大小, 单位:字节
// 开始读取上传信息
List fileItems = null
try {
fileItems = srvFileUpload.parseRequest(request)
} catch (Exception e) {
System.out.println("获取上传信息。。。。。。失败")
}
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator()
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next()// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
// 取出文件域的所有表单信息
} else {
// 取出不是文件域的所有表单信息
}
}
网络通信可分为两种模式:TCP有连接的通信UDP无连接的通信
依照上述的问题我可以理解为你是要进行有连接的通信。是要经过三次握手才能实现可靠的连接
第一次:建立连接时三次握手,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN(Synchronize Sequence Numbers)同步序列号。
服务器端即可使用:
Socket s=serverSocket.accept()
String clientIP=s.getInetAddress().toString()
这就实现了java服务器端获取到连接此服务器的客户端的IP了,你若想实现获取所有连接此服务器的客户端的IP,你可以把每次accept()返回的socket放进全局的Vector里面,然后在遍历这个vector方法就同上代码咯……
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)