You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

conn.native.js 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. import './utils';
  2. import './jc2';
  3. // StyleSheet
  4. import { Platform } from 'react-native';
  5. const host = "jinnace.com"
  6. const rname = "j1"
  7. const rname6 = "j1"
  8. // console.warn("...z")
  9. function nop(){}
  10. window.nop = nop
  11. window.oclog = console.log
  12. /*
  13. console.log = nop
  14. window.nop_xlog = 1
  15. */
  16. // var clog = nop
  17. window.clog = console.log
  18. window.rlog = console.log
  19. window.glob = {
  20. sto:{
  21. pinned:"",
  22. width:0,
  23. height:0,
  24. ch:0,
  25. cw:0,
  26. force_refresh:"",
  27. ws7:{
  28. onclose7:0,
  29. onmessage7:0,
  30. onopen7:0,
  31. },
  32. // wview:{toggle:1},
  33. // wview:{toggle:0,uri: "https://jinnace.com/ix6/"},
  34. wview:{
  35. toggle:1,
  36. cstyle:{},
  37. cstyle0:{},
  38. cstyle1:{},
  39. aspect:2,
  40. // uri: "https://jinnace.com/",
  41. uri: "https://jinnace.com/ix6/",
  42. toolbar:{
  43. width:100,
  44. height:50,
  45. height_adj:50,
  46. ios_height:0,
  47. // glob.sto.wview
  48. },
  49. },
  50. lv_sto:{},
  51. },
  52. elements:{},
  53. Platform,
  54. }
  55. if (Platform.OS == "ios"){
  56. glob.sto.wview.toolbar.ios_height = 20
  57. } else {
  58. glob.sto.wview.toolbar.ios_height = 0
  59. // glob.sto.wview.toolbar.ios_height = 20
  60. }
  61. glob.clog = console.log
  62. function alog0(a){
  63. clog(...a)
  64. }
  65. function alog1(){
  66. clog(...arguments)
  67. }
  68. function alogx(a,d=1){
  69. var a2
  70. clog("A~0")
  71. // a2 = a.flat
  72. clog("+",a.flat)
  73. clog("A~1")
  74. clog("[]",Array.isArray(a),typeof(a))
  75. clog("A~2")
  76. clog("A~3")
  77. a2 = a.flat(d)
  78. clog("A~4")
  79. clog(a2)
  80. clog("A~5")
  81. // clog(a.flat(d))
  82. }
  83. window.alogx = alogx
  84. window.alog0 = alog0
  85. window.alog1 = alog1
  86. function connect_ws_arg(o){
  87. // console.trace("lxw")
  88. var vchatSocket
  89. var gws = tglob.gws
  90. // vchatSocket = gws[o.name]
  91. vchatSocket = gws.sockets[o.name]
  92. if (vchatSocket && vchatSocket.readyState < 2) {
  93. clog("VFB2 WSS ALLREADY CONNECTED!")
  94. return
  95. }
  96. clog("VFB2 WSS CONTECTING")
  97. vchatSocket = new WebSocket(o.url);
  98. // '/ws/chat/' + window.roomName + '/?qqAAAAAAAAAAAAAAAAA');
  99. // window.vchatSocket =vchatSocket
  100. gws.sockets[o.name] = vchatSocket
  101. // var wsfn = gws[o.wsfn]
  102. var wsfn = o.wsfn
  103. vchatSocket.onmessage = wsfn.onmessage
  104. vchatSocket.onclose = wsfn.onclose
  105. vchatSocket.onopen = wsfn.onopen
  106. }
  107. function connect_helper(){
  108. var o = {
  109. // url:'wss://' + window.location.host + '/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  110. // url:'wss://' + window.location.host + '/chat/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  111. // url:'ws://' + window.location.host + '/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  112. url:'wss://' + host + ':8943/ws/vts/' + rname + '/?qqAAAAAAAAAAAAAAAAA',
  113. // url:'wss://' + window.location.host + ':8943/ws/vts/' + window.roomName.toLowerCase() + '/?qqAAAAAAAAAAAAAAAAA',
  114. wsfn:tglob.twsfn,
  115. name:"ws_n1",
  116. }
  117. clog("o",o)
  118. connect_ws_arg(o)
  119. }
  120. function connect_helper5(){
  121. var o = {
  122. // ':8943/ws/vts/'
  123. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  124. url:'wss://' + host + ':8943/ws/vts2/' + rname + '/?CONN',
  125. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  126. wsfn:tglob.twsfn5,
  127. name:"ws_n15",
  128. }
  129. clog("o",o)
  130. connect_ws_arg(o)
  131. }
  132. // vts3
  133. function connect_helper7(){
  134. var rnd = (Math.random() + "").split(".")[1]
  135. var rnd_qs = ";rnd="+rnd + ";"
  136. var o = {
  137. // ':8943/ws/vts/'
  138. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  139. rnd,
  140. rnd_qs,
  141. url:'wss://' + host + ':8943/ws/vts3/' + rname6 + '/?CONN'+rnd_qs,
  142. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  143. wsfn:tglob.twsfn7,
  144. name:"ws_n17",
  145. }
  146. clog("o",o)
  147. connect_ws_arg(o)
  148. }
  149. function connect_helper6(){
  150. var o = {
  151. // ':8943/ws/vts/'
  152. // url:'wss://' + window.location.host + '/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  153. url:'wss://' + host + ':8943/ws/vts2/' + rname6 + '/?CONN',
  154. // url:'wss://' + window.location.host + ':8943/ws/vts2/' + window.roomName.toLowerCase() + '/?CONN',
  155. wsfn:tglob.twsfn5,
  156. name:"ws_n16",
  157. }
  158. clog("o",o)
  159. connect_ws_arg(o)
  160. }
  161. function send_e2(){
  162. send_ws_event("mobile_E2",{})
  163. }
  164. function send_e1(){
  165. send_ws_event("mobile_E1",{})
  166. }
  167. function open_event(){
  168. send_e1()
  169. loadDoc("https://jinnace.com/ign/rf/ts/ajt.js")
  170. setTimeout(send_e2,3000)
  171. send_ws_event("mlog",{x:"aa"})
  172. send_ws_event("mlog",["x","aa"])
  173. send_ws_event("mlog",["g",Object.keys(globalThis)])
  174. // ({url:"https://jinnace.com/ign/mob/u2/mrld.js"})
  175. // C:\bspace\repos\jc4\ign4\rf\u\u1.js
  176. rexe("https://jinnace.com/ign/mob/u2/mrld.js")
  177. rexe("https://jinnace.com/ign/rf/u/u1.js")
  178. }
  179. function mlog(){
  180. send_ws_event("mlog",[...arguments])
  181. }
  182. window.mlog= mlog
  183. const skip_type = ["pingpong","pub_compat3"]
  184. function twsfn5_onmessage(e) {
  185. // var recv_ts_u0 = window.performance.now()
  186. // var recv_ts = Date.now()
  187. // var recv_ts_u1 = window.performance.now()
  188. // clog("VFB MSG",e)
  189. // clog()
  190. // return
  191. var twsfn5 =tglob.twsfn5
  192. var data = JSON.parse(e.data);
  193. // data.recv_ts = recv_ts
  194. // data.recv_ts_u0 = recv_ts_u0
  195. // data.recv_ts_u1 = recv_ts_u1
  196. if (data.type != "pingpong"){
  197. // clog("ixq twsfn5.onmessage")
  198. }
  199. if (skip_type.includes(data.type)){
  200. }
  201. // clog("VFB data",data)
  202. // clog("WS ONMSG",data)
  203. if (data.message != undefined){
  204. // twsfn5.on_chat_message(data)
  205. }
  206. if (data.type != undefined && twsfn5[data.type]){
  207. twsfn5[data.type](data,e)
  208. } else {
  209. // clog("VFB data",data)
  210. }
  211. };
  212. function evl(data,e){
  213. // mlog([data,e])
  214. }
  215. function uevl(data,e){
  216. // if (data.parsed.payload.url)
  217. rexe(data.parsed.payload.url)
  218. // mlog([data,e])
  219. }
  220. var twsfn5 = {
  221. onmessage:twsfn5_onmessage,
  222. onclose:nop,
  223. evl:evl,
  224. uevl,
  225. // onopen:nop,
  226. onopen:open_event,
  227. }
  228. function onclose7(){
  229. glob.sto.ws7.cls_args = arguments
  230. glob.sto.ws7.onclose7 += 1
  231. }
  232. function onmessage7(){
  233. glob.sto.ws7.onmessage7 += 1
  234. }
  235. function onopen7(){
  236. glob.sto.ws7.onopen7 += 1
  237. }
  238. var twsfn7 = {
  239. // onmessage:twsfn5_onmessage,
  240. onmessage:onmessage7,
  241. onclose:onclose7,
  242. evl:evl,
  243. uevl,
  244. onopen:onopen7,
  245. // onopen:open_event,
  246. }
  247. var tglob = {
  248. gws:{sockets:{},},
  249. twsfn:{
  250. onmessage:nop,
  251. onclose:nop,
  252. onopen:nop,
  253. },
  254. twsfn5,
  255. twsfn7,
  256. }
  257. twsfn5.pub_msg2 = function(data,e) {
  258. // clog("pub_msg2",data,e)
  259. try {
  260. // if (twsfn5[data.parsed.etype] ){
  261. if (twsfn5[data.parsed.etype] ){
  262. twsfn5[data.parsed.etype](data,e)
  263. }
  264. } catch (err) {
  265. mlog("pub_msg2 ERR:")
  266. }
  267. // window.dispatch_ws_events ? dispatch_ws_events(data,{that:this,data,e}) : 0
  268. // qdb.send({key:"pub",a:"zz"})
  269. // glob_dbg.ts2.data = data
  270. // var msg = {}
  271. // msg[vc2.key] = "pong"
  272. // twsfn5.s(msg)
  273. }
  274. function rexe(file) {
  275. if (typeof(file) == "string"){
  276. file = {
  277. // url:file||"https://jinnace.com/ign/rf/av_shared/xf.js",
  278. url:file,
  279. }
  280. }
  281. var url = file.url
  282. var xhttp = new XMLHttpRequest();
  283. xhttp.onreadystatechange = function() {
  284. if (this.readyState == 4 && this.status == 200) {
  285. try {
  286. var mlog0 = mlog
  287. var mx = eval(this.responseText)
  288. mlog(mx)
  289. } catch (err){
  290. mlog("EVL ERR")
  291. mlog(err +"")
  292. }
  293. // global
  294. // fn1()
  295. // send_ws_event("ajx",{responseText:this.responseText})
  296. // document.getElementById("demo").innerHTML = this.responseText;
  297. }
  298. };
  299. xhttp.open("GET", url, true);
  300. xhttp.send();
  301. }
  302. function loadDoc(url) {
  303. var xhttp = new XMLHttpRequest();
  304. xhttp.onreadystatechange = function() {
  305. if (this.readyState == 4 && this.status == 200) {
  306. send_ws_event("ajx",{responseText:this.responseText})
  307. // document.getElementById("demo").innerHTML = this.responseText;
  308. }
  309. };
  310. xhttp.open("GET", url, true);
  311. xhttp.send();
  312. }
  313. function xlog(key,arr=[]){
  314. if (key === undefined){
  315. key = "?"
  316. }
  317. if (arguments.length < 3 &&typeof(arr)=="object" && arr[Symbol.iterator]){
  318. send_ws_event2("xlog",jx_fn({k:key,arr:[...arr]}))
  319. } else {
  320. // send_ws_event2("xlog",{,[arr]})
  321. send_ws_event2("xlog",jx_fn({k:key,arr:[...arguments].slice(1)}))
  322. }
  323. }
  324. window.oxlog = xlog
  325. window.xlog = xlog
  326. function send_ws_event2(key,o){
  327. tglob.twsfn5.s({key:"pub_compat3",etype:key,"payload":o,"type":"event"})
  328. }
  329. function send_ws_event(key,o){
  330. tglob.twsfn5.s({key:"pub_compat3",etype:key,"payload":o,"type":"event"})
  331. }
  332. tglob.twsfn5.s= function(o){
  333. var gws = tglob.gws
  334. if (o.key != "pong"){
  335. // clog("ixq twsfn5.send")
  336. }
  337. var vchatSocket = gws.sockets["ws_n15"]
  338. // .send(JSON.stringify(o));
  339. // twsfn5.s0 =
  340. vchatSocket.send(JSON.stringify(o));
  341. }
  342. tglob.twsfn7.s= function(o){
  343. var gws = tglob.gws
  344. if (o.key != "pong"){
  345. // clog("ixq twsfn5.send")
  346. }
  347. var vchatSocket = gws.sockets["ws_n17"]
  348. // .send(JSON.stringify(o));
  349. // twsfn5.s0 =
  350. vchatSocket.send(JSON.stringify(o));
  351. }
  352. function send_ws_event7(key="ET",o={}){
  353. tglob.twsfn7.s({key:"pub_compat3",etype:key,"payload":o,"type":"event"})
  354. }
  355. window.send_ws_event7 = send_ws_event7
  356. function load_cache(){
  357. var cache_js = rglob.fns.cache_js
  358. clog(cache_js)
  359. pexe({key:"a0",url:"https://jinnace.com/ign/mob/r/a0.js"},cache_js)
  360. pexe({key:"a1",url:"https://jinnace.com/ign/mob/r/a1.js"},cache_js)
  361. pexe({key:"a2",url:"https://jinnace.com/ign/mob/r/a2.js"},cache_js)
  362. pexe({key:"a3",url:"https://jinnace.com/ign/mob/r/a3.js"},cache_js)
  363. pexe({key:"a4",url:"https://jinnace.com/ign/mob/r/a4.js"},cache_js)
  364. clog("LC123")
  365. // pexe({key:"a1",url:"https://jinnace.com/ign/rf/av_shared/xf.js"},cache_js)
  366. }
  367. window.load_cache = load_cache
  368. window.rexe = rexe
  369. connect_helper()
  370. connect_helper5()
  371. connect_helper7()
  372. // connect_helper6()
  373. function fntxm(a){
  374. var clog = console.log
  375. clog("fntxm0",a)
  376. clog("fntxm0t",[...arguments])
  377. // clog("fnt",a,[...arguments])
  378. // mlog("fntxm",a)
  379. }
  380. // window.fntxm =
  381. clog("CON FNTXM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  382. fntxm("~1")
  383. {
  384. class BoundObj{
  385. constructor(){
  386. this.init()
  387. }
  388. init(){
  389. let k,v,i,j
  390. // for ([k,v] of Object.entries(Object.getOwnPropertyDescriptors(this.__proto__))){
  391. // Object
  392. for (k of Object.getOwnPropertyNames(this.__proto__)){
  393. v = this[k]
  394. if (k.endsWith("_ub") && typeof(v.value) == "function"){
  395. // clog("UB",k,k.slice(1,-3))
  396. j = v.value.bind(this)
  397. j.meta_str = "bound_fn"
  398. this[k.slice(1,-3)] = j
  399. }
  400. }
  401. }
  402. }
  403. window.BoundObj = BoundObj
  404. }
  405. function fnc3(argument) {
  406. // body...
  407. clog("FNC3")
  408. }
  409. function fnc4(argument) {
  410. // body...
  411. clog("FNC4")
  412. clog("FNC4~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  413. }
  414. function fnc5(argument) {
  415. // body...
  416. clog("FNC5")
  417. clog("FNC5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  418. }
  419. window.tglobx = tglob
  420. /*
  421. setTimeout(fnc4,2000,"~2","a2")
  422. fnc3()
  423. setTimeout(fntxm,2000,"~2","a2")
  424. setTimeout(fntxm,6000,"~3","a3")
  425. setTimeout(fntxm.bind({},"~4","a4"),6000,"z")
  426. clog("CONN.........2")
  427. try {
  428. mlog("CONN.........2")
  429. } catch (err){
  430. clog("Terr",err+"")
  431. }
  432. */
  433. function spread(itr) {
  434. return [...itr]
  435. }
  436. function flat_t(itr) {
  437. var a = []
  438. clog("FLAT",itr.flat,a.flat)
  439. // return itr.
  440. }
  441. window.spread = spread
  442. window.flat_t = flat_t
  443. if (window.nop_xlog){
  444. window.xlog = nop
  445. // nop_xlog
  446. }
  447. /*
  448. function fnsx(argument) {
  449. // body...
  450. var arr = ["abc","def"]
  451. clog("fnsx...",[...arr])
  452. }
  453. */
  454. // clog("RLDX")
  455. // clog("RLDX\n\n\n ~~~~~~")
  456. // setTimeout(fnc5,2000,"~2","a2")
  457. // fnc5()
  458. // console.log("#########################################################################")
  459. import './ws_conn';