ApprtcDemo sur le server local fonctionne entre les browsers et Android mais PAS sur iOS

J'essaie de passer un appel avec webrtc entre l'iPhone et le browser avec ApprtcDemo

tout fonctionne bien via apprtc.appspot.com. mais quand j'ai couru l'application sur mon server, j'ai été en mesure de faire un appel entre les browsers et avec l'aide de ce post , j'ai fait un appel entre le browser pour android.

Je ne peux pas faire l'appel entre l'iPhone et le browser …

changements au code:

dans APPRTCAppClient.m:

//NSSsortingng *path = [NSSsortingng ssortingngWithFormat:@"https:%@", [url resourceSpecifier]]; NSSsortingng *path = [NSSsortingng ssortingngWithFormat:@"http:%@", [url resourceSpecifier]]; //NSSsortingng *url = [NSSsortingng ssortingngWithFormat:@"%@/%@", self.baseURL, self.postMessageUrl]; NSSsortingng *url = [NSSsortingng ssortingngWithFormat:@"http://xxx.xx.x.xx:9090%@", self.postMessageUrl]; //[request addValue:@"https://apprtc.appspot.com" forHTTPHeaderField:@"origin"]; [request addValue:@"http://xxx.xx.x.xx:9090" forHTTPHeaderField:@"origin"]; 

dans APPRTCViewController.m:

 //NSSsortingng *url = [NSSsortingng ssortingngWithFormat:@"apprtc://apprtc.appspot.com/?r=%@", room]; NSSsortingng *url = [NSSsortingng ssortingngWithFormat:@"apprtc://xxx.xx.x.xx:9090/?r=%@", room]; 

dans ios_channel.html:

 //<script type="text/javascript" src="http://apprtc.appspot.com/_ah/channel/jsapi"></script> <script type="text/javascript" src="http://xxx.xx.x.xx:9090/_ah/channel/jsapi"></script> 

lorsque j'essaie de me connecter à la salle (depuis l'iPhone) sur mon server, je reçois les messages suivants:

 INFO 2014-02-11 07:11:53,911 apprtc.py:350] IN CLASS MainPage INFO 2014-02-11 07:11:53,927 apprtc.py:246] IN CLASS Room: add_user INFO 2014-02-11 07:11:53,941 apprtc.py:77] create_channel INFO 2014-02-11 07:11:53,941 apprtc.py:163] Applying media constraints: {'vi deo': True, 'audio': True} INFO 2014-02-11 07:11:53,957 apprtc.py:517] User 80844306 added to room 85 INFO 2014-02-11 07:11:53,957 apprtc.py:518] Room 85 has state [80844306-Fals e] INFO 2014-02-11 07:11:53,973 module.py:612] default: "GET /?r=85 HTTP/1.1" 2 00 1744 

à ce stade, ConnectPage devrait être appelé pour se connecter à la salle, mais rien ne se passe …

quand j'essaye de me connecter à la pièce (depuis Android) sur mon server, je reçois les messages suivants:

 INFO 2014-02-11 07:11:53,911 apprtc.py:350] IN CLASS MainPage INFO 2014-02-11 07:11:53,927 apprtc.py:246] IN CLASS Room: add_user INFO 2014-02-11 07:11:53,941 apprtc.py:77] create_channel INFO 2014-02-11 07:11:53,941 apprtc.py:163] Applying media constraints: {'vi deo': True, 'audio': True} INFO 2014-02-11 07:11:53,957 apprtc.py:517] User 59372716 added to room 51 INFO 2014-02-11 07:11:53,957 apprtc.py:518] Room 51 has state [59372716-Fals e] INFO 2014-02-11 07:11:53,973 module.py:612] default: "GET /?r=51 HTTP/1.1" 2 00 1744 INFO 2014-02-11 07:11:55,142 apprtc.py:306] IN CLASS ConnectPage INFO 2014-02-11 07:11:55,158 apprtc.py:298] User 59372716 connected to room 51 INFO 2014-02-11 07:11:55,158 apprtc.py:299] Room 51 has state [59372716-True ] INFO 2014-02-11 07:11:55,190 module.py:612] default: "POST /_ah/channel/conn ected/ HTTP/1.1" 200 - 

L'appel ne passe pas parce qu'il n'y a pas de connection réelle à la pièce.

J'ai également essayé using wireshark pour voir ce qui est envoyé entre le client au server avec android et iPhone en tant que client

De l'iPhone:

 1009 31.978872000 84.94.156.147 xxx.xx.x.xx HTTP 265 GET /?r=9 HTTP/1.1 1022 32.088116000 xxx.xx.x.xx 84.94.156.147 HTTP 235 HTTP/1.1 200 OK (text/html) 1093 32.788407000 84.94.156.147 xxx.xx.x.xx HTTP 343 GET /_ah/channel/jsapi HTTP/1.1 1404 34.191465000 xxx.xx.x.xx 84.94.156.147 HTTP 769 HTTP/1.1 200 OK (text/javascript) GET /?r=9 HTTP/1.1 : Hypertext Transfer Protocol GET /?r=9 HTTP/1.1\r\n Expert Info (Chat/Sequence): GET /?r=9 HTTP/1.1\r\n Message: GET /?r=9 HTTP/1.1\r\n Severity level: Chat Group: Sequence Request Method: GET Request URI: /?r=9 Request Version: HTTP/1.1 Host: xxx.xx.x.xx:9090\r\n Connection: keep-alive\r\n Accept-Encoding: gzip, deflate\r\n User-Agent: AppRTCDemo/1.0 CFNetwork/672.0.8 Darwin/14.0.0\r\n Accept-Language: he-il\r\n Accept: */*\r\n \r\n Full request URI: http://xxx.xx.x.xx:9090/?r=9 HTTP request 1/1 Response in frame: 1022 HTTP/1.1 200 OK (text/html): Hypertext Transfer Protocol HTTP/1.1 200 OK\r\n Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n Message: HTTP/1.1 200 OK\r\n Severity level: Chat Group: Sequence Request Version: HTTP/1.1 Status Code: 200 Response Phrase: OK content-type: text/html; charset=utf-8\r\n cache-control: no-cache\r\n Content-Length: 1705\r\n Content length: 1705 Server: Development/2.0\r\n Date: Thu, 13 Feb 2014 12:55:23 GMT\r\n \r\n HTTP response 1/1 Line-based text data: text/html (here i have the index.html file filled with the content for each of the vars) GET /_ah/channel/jsapi HTTP/1.1 : Hypertext Transfer Protocol GET /_ah/channel/jsapi HTTP/1.1\r\n Expert Info (Chat/Sequence): GET /_ah/channel/jsapi HTTP/1.1\r\n Message: GET /_ah/channel/jsapi HTTP/1.1\r\n Severity level: Chat Group: Sequence Request Method: GET Request URI: /_ah/channel/jsapi Request Version: HTTP/1.1 Host: xxx.xx.x.xx:9090\r\n Connection: keep-alive\r\n Accept-Encoding: gzip, deflate\r\n User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11B554a\r\n Accept-Language: he-il\r\n Accept: */*\r\n \r\n Full request URI: http://xxx.xx.x.xx:9090/_ah/channel/jsapi HTTP request 1/1 Response in frame: 1404 HTTP/1.1 200 OK (text/javascript): HTTP/1.1 200 OK (text/html): Hypertext Transfer Protocol HTTP/1.1 200 OK\r\n Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n Message: HTTP/1.1 200 OK\r\n Severity level: Chat Group: Sequence Request Version: HTTP/1.1 Status Code: 200 Response Phrase: OK cache-control: no-cache\r\n content-type: text/javascript\r\n Content-Length: 238051\r\n Content length: 238051 Server: Development/2.0\r\n Date: Thu, 13 Feb 2014 12:55:24 GMT\r\n \r\n HTTP response 1/1 Line-based text data: text/html (here i have the jsapi file) 

De android:

  2103 64.994817000 62.219.128.171 xxx.xx.x.xx HTTP 231 GET /?r=7 HTTP/1.1 2109 65.056073000 xxx.xx.x.xx 62.219.128.171 HTTP 225 HTTP/1.1 200 OK (text/html) 2329 68.436749000 62.219.128.171 xxx.xx.x.xx HTTP 499 GET /_ah/channel/jsapi HTTP/1.1 2659 71.766089000 xxx.xx.x.xx 62.219.128.171 HTTP 869 HTTP/1.1 200 OK (text/javascript) 2723 72.548316000 62.219.128.171 xxx.xx.x.xx HTTP 582 GET /_ah/channel/dev? command=connect&channel=52dc587e2a55f84d5a24d607e01265a6-channel-2672196958-1392299260-7/48366753 HTTP/1.1 2725 72.551059000 xxx.xx.x.xx 62.219.128.171 HTTP 67 HTTP/1.1 200 OK (text/plain) 2755 73.546369000 62.219.128.171 xxx.xx.x.xx HTTP 588 GET /_ah/channel/dev? command=poll&channel=52dc587e2a55f84d5a24d607e01265a6-channel-2672196958-1392299260- 7/48366753&client=1 HTTP/1.1 2756 73.547829000 xxx.xx.x.xx 62.219.128.171 HTTP 191 HTTP/1.1 200 OK GET /?r=7 HTTP/1.1 : Hypertext Transfer Protocol GET /?r=7 HTTP/1.1\r\n Expert Info (Chat/Sequence): GET /?r=7 HTTP/1.1\r\n Message: GET /?r=7 HTTP/1.1\r\n Severity level: Chat Group: Sequence Request Method: GET Request URI: /?r=7 Request Version: HTTP/1.1 User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.3; Nexus 4 Build/JWR66V)\r\n Host: xxx.xx.x.xx:9090\r\n Connection: keep-alive\r\n Accept-Encoding: gzip\r\n \r\n Full request URI: http://xxx.xx.x.xx:9090/?r=7 HTTP request 1/1 Response in frame: 2109 HTTP/1.1 200 OK (text/html): Hypertext Transfer Protocol HTTP/1.1 200 OK\r\n Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n Message: HTTP/1.1 200 OK\r\n Severity level: Chat Group: Sequence Request Version: HTTP/1.1 Status Code: 200 Response Phrase: OK content-type: text/html; charset=utf-8\r\n cache-control: no-cache\r\n Content-Length: 1695\r\n Content length: 1695 Server: Development/2.0\r\n Date: Thu, 13 Feb 2014 13:17:39 GMT\r\n \r\n HTTP response 1/2 Line-based text data: text/html (here i have the index.html file filled with the content for each of the vars) GET /_ah/channel/jsapi HTTP/1.1 : Hypertext Transfer Protocol GET /_ah/channel/jsapi HTTP/1.1\r\n Expert Info (Chat/Sequence): GET /_ah/channel/jsapi HTTP/1.1\r\n Message: GET /_ah/channel/jsapi HTTP/1.1\r\n Severity level: Chat Group: Sequence Request Method: GET Request URI: /_ah/channel/jsapi Request Version: HTTP/1.1 Host: xxx.xx.x.xx:9090\r\n Connection: keep-alive\r\n Referer: http://xxx.xx.x.xx:9090/\r\n Accept: */*\r\n X-Requested-With: org.appspot.apprtc\r\n User-Agent: Mozilla/5.0 (Linux; U; Android 4.3; he-il; Nexus 4 Build/JWR66V) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30\r\n Accept-Encoding: gzip, deflate\r\n Accept-Language: he-IL, en-US\r\n Accept-Charset: utf-8, iso-8859-1, utf-16, *;q=0.7\r\n \r\n Full request URI: http://xxx.xx.x.xx:9090/_ah/channel/jsapi HTTP request 1/8 HTTP/1.1 200 OK (text/javascript): HTTP/1.1 200 OK (text/html): Hypertext Transfer Protocol HTTP/1.1 200 OK\r\n Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n Message: HTTP/1.1 200 OK\r\n Severity level: Chat Group: Sequence Request Version: HTTP/1.1 Status Code: 200 Response Phrase: OK cache-control: no-cache\r\n content-type: text/javascript\r\n Content-Length: 238051\r\n Content length: 238051 Server: Development/2.0\r\n Date: Thu, 13 Feb 2014 13:17:42 GMT\r\n \r\n HTTP response 1/8 Line-based text data: text/html (here i have the jsapi file) 

Quelqu'un peut-il s'il vous plaît aider avec ce problème. toute idée sur la façon de procéder sera bonne à ce stade.

Merci d'avance

Je fais partie de l'équipe WebRTC et il est fort probable que la version iOS d'AppRTCDemo (désormais renommée AppRTCMobile) ne fonctionnait pas comme vous l'expliquez. Faites-nous savoir si c'est toujours un problème. L'application a beaucoup de travail fait récemment.

mettre ce tutoriel en jachère

http://ninjanetic.com/how-to-get-started-with-webrtc-and-ios-without-wasting-10-hours-of-your-life/

remplacez cette ligne dans build_apprtc.sh

export GYP_DEFINES = "build_with_libjingle = 1 build_avec_chromium = 0 libjingle_objc = 1 OS = ios target_arch = armv7"

avec

export GYP_DEFINES = "OS = ios target_arch = arm64 target_subarch = arm64"

Il devrait parfaitement fonctionner dans iOS et vous devez également fournir votre propre server de virement et activer la facturation pour bigQuery pour le faire fonctionner avec votre propre URL de server.