我在 Red5 0.9 服务器中使用 Java 时遇到问题,这是代码
package com.hwakin.i5lc.manager;
import java.util.Iterator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.service.IServiceCapableConnection;
import com.hwakin.i5l.vo.ExternalPoint;
import com.hwakin.i5l.vo.UserInfo;
import com.hwakin.i5lc.vo.ExternalDrawInfo;
public class I5lcDrawManager extends ApplicationAdapter {
protected static Log log = LogFactory.getLog(I5lcDrawManager.class.getName());
public void startDrawingHandler(String type,ExternalPoint point, ExternalDrawInfo data){
try{
IConnection Lconn = Red5.getConnectionLocal();
IScope scope = Lconn.getScope();
Iterator<IConnection> it = scope.getConnections();
while (it.hasNext()) {
IConnection conn = it.next();
if (Lconn.equals(conn)) {
continue;
}
log.info("i5lvDrawManagerReceiver.startDrawingHandler invoked.");
IClient client = conn.getClient();
UserInfo userInfo =(UserInfo) client.getAttribute("userInfo");
if (conn instanceof IServiceCapableConnection) {
if(userInfo.lectureInfo.sync.equals("true")){
((IServiceCapableConnection) conn).invoke("invoke",new Object[]{"i5lvDrawManagerReceiver.startDrawingHandler",type,point,data});
}
}
}
}catch(Exception e){
log.debug("Exception in noticeChattingTo Method:"+e);
}
}
public void drawingHandler(String type,ExternalPoint point){
try{
IConnection Lconn = Red5.getConnectionLocal();
IScope scope = Lconn.getScope();
Iterator<IConnection> it = scope.getConnections();
while (it.hasNext()) {
IConnection conn = it.next();
if (Lconn.equals(conn)) {
continue;
}
log.info("i5lvDrawManagerReceiver.drawingHandler invoked.");
IClient client = conn.getClient();
UserInfo userInfo =(UserInfo) client.getAttribute("userInfo");
if (conn instanceof IServiceCapableConnection) {
if(userInfo.lectureInfo.sync.equals("true")){
((IServiceCapableConnection) conn).invoke("invoke",new Object[]{"i5lvDrawManagerReceiver.drawingHandler",type,point});
}
}
}
}catch(Exception e){
log.debug("Exception in noticeChattingTo Method:"+e);
}
}
public void endDrawingHandler(String type,ExternalPoint point, ExternalDrawInfo data){
try{
IConnection Lconn = Red5.getConnectionLocal();
IScope scope = Lconn.getScope();
Iterator<IConnection> it = scope.getConnections();
while (it.hasNext()) {
IConnection conn = it.next();
if (Lconn.equals(conn)) {
continue;
}
log.info("i5lvDrawManagerReceiver.endDrawingHandler invoked.");
IClient client = conn.getClient();
UserInfo userInfo =(UserInfo) client.getAttribute("userInfo");
if (conn instanceof IServiceCapableConnection) {
if(userInfo.lectureInfo.sync.equals("true")){
((IServiceCapableConnection) conn).invoke("invoke",new Object[]{"i5lvDrawManagerReceiver.endDrawingHandler",type,point,data});
}
}
}
}catch(Exception e){
log.debug("Exception in noticeChattingTo Method:"+e);
}
}
}
错误是:
/opt/red5/dist/webapps/i5lecture/WEB-INF/src/com/hwakin/i5lc/manager/I5lcDrawManager.java 中的错误(第 29 行)
Iterator <IConnection> it = scope.getConnections();
类型不匹配:无法从 Collection<Set<IConnection>> 转换为 Iterator
/opt/red5/dist/webapps/i5lecture/WEB-INF/src/com/hwakin/i5lc/manager/I5lcDrawManager.java 中的错误(第 63 行)
Iterator<IConnection> it = scope.getConnections();
类型不匹配:无法从 Collection<Set<IConnection>> 转换为 Iterator<IConnection>
/opt/red5/dist/webapps/i5lecture/WEB-INF/src/com/hwakin/i5lc/manager/I5lcDrawManager.java 中的错误(第 100 行)
Iterator<IConnection> it = scope.getConnections();
类型不匹配:无法从 Collection<Set<IConnection>> 转换为 Iterator<IConnection>
3 个问题(3 个错误)