Ну и как мне это исправить?.. Это дает мне около недели!
Этот код от Modenacam FMS....
Все работает, кроме чата.
Когда исполнитель с сайта cam вошел в систему он выдает это сообщение на сервер:
onConnect User is ACEPTED onConnect, performerId: 16, pasword: 645062a5e513f1cd2e1a8d4e64789b4ccd05e795f51a9e3d4f72c4cc61337a87, userId: 16, userType: performer, userName: helma, uniqId: a8882bb2c3d7cd4a3f98f071afdc10528020d5038, sessionType: 1, md5Check: 1, truePrivate: undefined ip=84.104.42.94&userId=16&userType=performer&pasword=645062a5e513f1cd2e1a8d4e64789b4ccd05e795f51a9e3d4f72c4cc61337a87&uniqId=a8882bb2c3d7cd4a3f98f071afdc10528020d5038&userName=helma&performerId=16&hash=WpRp4JJ2xjibLezgESz&numberOfCameras=1 User is ACCEPTED Auth allowed allow getTopic , [object Client] Sending error message: C:\Program Files\Adobe\Flash Media Server 4.5\applications\hotprive_main\main.asc: line 647: ReferenceError: FMS_VERSION is not defined code: Application.Script.Error level: error Application.Script.Error details: C:\Program Files\Adobe\Flash Media Server 4.5\applications\hotprive_main\main.asc: line 647: ReferenceError: FMS_VERSION is not defined Application.Script.Error details: undefined code: Application.Script.Error level: error Sending error message: Failed to execute method (getFmsVersion). onPublish [object Client], [object Stream]
Если исполнитель в этом случае" Хельма " говорит в чате: это тестовое сообщение как исполнитель
Сервер откажется от этого:
broadcastChatLineIcon helma, This is a test message as performer, 16, 0xff0010
И форма чата не будет показывать текст: это тестовое сообщение как исполнитель
Если пользователь собирается поболтать и сказать: это тестовое сообщение от пользователя
Сервер отвечает на это:
broadcastChatLineIcon rebecca, This is a test message from a user, v1, 0x123ff0
И снова он не будет показывать текст в форме чата....
Этот скрипт ниже называется: main. asc
Если вы видите, что есть раздел для передачи сообщения в форму..
Но я думаю, что есть какой-то сбой кода, что он не будет отвечать на чат..
если вы ищете в разделе: broadcastChatLineIcon, то вы можете увидеть его с помощью markt + message +, но я думаю, что он неправильно закодирован.....
это флэш-сайт, поэтому main. asc работает с Flash Media Server 4.5 в виде файлов FMS
Может ли кто-нибудь разобраться со мной, чтобы заставить его снова работать?
load("components.asc"); application.topic = ""; application.cameraNo = 0; application.performer = null; application.hash = null; application.fmsId = null; application.flvName = null; application.videoStream; application.baseUrl = "http://www.pcheld.nl/arco/chat/"; application.banUrl = "fms/banmanager"; application.authUrl = "fms/auth"; application.authPerformerUrl = "performer/fms/auth"; application.taxUrl = "fms/tax"; application.truePrivateUrl = "fms/trueprivate"; application.endSessionUrl = "fms/endsession"; application.chatLogUrl = "fms/log"; application.tipUrl = "fms/tip"; application.validateChipsUrl = "fms/validatechips"; application.onAppStart = function() { trace("onAppStart"); application.allowDebug = true; } application.onConnect = function(clientObj, performerId, pasword, userId, userType, userName, uniqId, sessionType, md5Check, truePrivate) { load("hash.as"); trace("onConnect"); application.hash = hash; application.fmsId = md5Check; trace("onConnect, performerId: " + performerId + ", pasword: " + pasword + ", userId: " + userId + ", userType: " + userType + ", userName: ", userName + ", uniqId: " + uniqId + ", sessionType: " + sessionType + ", md5Check: " + md5Check + ", truePrivate: " + truePrivate); // Set the number of cameras activated if performer if(userType == "performer") { application.cameraNo = sessionType; application.performer = clientObj; } application.initClient(clientObj); clientObj.userId = userId; clientObj.releaseStream = function() { trace("releaseStream"); }; clientObj.FCPublish = function() { trace("FCPublish"); }; clientObj.FCUnpublish = function() { trace("FCUnpublish"); }; // TODO: Check if user isnt logged in already // Variables application.acceptConnection(clientObj); clientObj.userType = userType; clientObj.userName = userName; clientObj.performerId = performerId; clientObj.pasword = pasword; clientObj.sessionType = sessionType; clientObj.uniqId = uniqId; clientObj.truePrivate = truePrivate; clientObj.md5Check = md5Check; if(userType == "viewer" || userType == "performer") application.userCheck(clientObj); else application.initClientInterval(clientObj); }; application.initClient = function(clientObj) { // Functions clientObj.broadcastChatLine = application.broadcastChatLine; clientObj.broadcastChatLineIcon = application.broadcastChatLineIcon; clientObj.updateTopic = application.updateTopic; clientObj.getTopic = application.getTopic; clientObj.askForNumberOfCameras = application.askForNumberOfCameras; clientObj.ask_song = application.ask_song; clientObj.change_song = application.change_song; clientObj.send_song = application.send_song; clientObj.initializeSpy = application.initializeSpy; clientObj.rec = application.rec; clientObj.recStop = application.recStop; clientObj.kick = application.kick; clientObj.ban = application.ban; clientObj.kickSelf = application.kickSelf; clientObj.banSelf = application.banSelf; clientObj.privateInvitation = application.privateInvitation; clientObj.acceptInvitation = application.acceptInvitation; clientObj.enterPrivate = application.enterPrivate; clientObj.changeSessionTypeToPrivate = application.changeSessionTypeToPrivate; clientObj.rejectInvitation = application.rejectInvitation; clientObj.tipPerfromer = application.tipPerfromer; clientObj.setViewerBroadcast = application.setViewerBroadcast; clientObj.getFmsVersion = application.getFmsVersion; if(clientObj.userType == "viewer") { clientObj.taxIntervalId = setInterval(application.checkTax, 5000, clientObj); } trace("User is ACEPTED"); } application.initClientInterval = function(clientObj) { if(clientObj.userType == "viewer") { clientObj.taxIntervalId = setInterval(application.checkTax, 5000, clientObj); } trace("User is ACCEPTED"); } application.checkTax = function(client) { trace("checkTax " + client.sessionType); // Check if the user has session still var isLoggedIn = false; var clients = application.clients; var n = clients.length; for(var i = 0; i < n; i++) { if(clients[i] == client) { isLoggedIn = true; break; } } if(!isLoggedIn) clearInterval(client.taxIntervalId); var taxSendLV = new LoadVars(); var taxRecvLV = new LoadVars(); taxSendLV.userId = client.userId; taxSendLV.userType = client.userType; taxSendLV.pasword = client.pasword; taxSendLV.uniqId = client.uniqId; taxSendLV.performerId = client.performerId; taxSendLV.truePrivate = client.truePrivate; taxSendLV.sessionType = (client.sessionType == "true_private") ? "private" : client.sessionType; taxSendLV.hash = application.hash; taxSendLV.sendAndLoad(application.baseUrl + application.taxUrl, taxRecvLV, "POST"); taxRecvLV.>
Что я уже пробовал:
Все! я сделал все, чтобы это сработало, но я не позволю себе этого сделать....
Для кода строки лучше посмотреть это в postbin: главное - Pastebin.com[^]
Donny Rebecca
мне очень жаль, что код был слишком длинным, так что вы можете увидеть его здесь: http://pastebin.com/5auHcVWv
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Patrice T
Где находится "main. asc: линия 647"?
Donny Rebecca
приложения.getFmsVersion = функция()
{
вернуться FMS_VERSION;
}
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
И скажите какая линия 647
Donny Rebecca
извините, что я отредактировал эту строку:
приложения.getFmsVersion = функция()
{
вернуться FMS_VERSION;
}
Donny Rebecca
а прямая линия до 647-это return FMS_VERSION;