-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathudpclient.js
executable file
·180 lines (152 loc) · 5.42 KB
/
udpclient.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
var socket;
var temp ;
if (!window.WebSocket) {
window.WebSocket = window.MozWebSocket;
}
if (window.WebSocket) {
// socket = new WebSocket("ws://10.108.114.252:8650/ws");
socket = new WebSocket("ws://10.108.113.208:8650/ws");
socket.onmessage = function(event) {
console.log(event.data);
var ta = document.getElementById('responseText');
var JSONMessage= JSON.parse(event.data);
console.log(JSONMessage);
ta.value = ta.value + '\n' + "username = " + JSONMessage.username+" "+event.data;
handleCSMessage(JSONMessage);
};
socket.onopen = function(event) {
var ta = document.getElementById('responseText');
ta.value = "连接开启!";
};
socket.onclose = function(event) {
var ta = document.getElementById('responseText');
ta.value = ta.value + "连接被关闭";
};
} else {
alert("你的浏览器不支持 WebSocket!");
}
function send(message) {
if (!window.WebSocket) {
return;
}
if (socket.readyState == WebSocket.OPEN) {
//先变成json格式再发出
socket.send(JSON.stringify(message));
} else {
alert("连接没有开启.");
}
}
//JSONMessage 已经是JSON格式了
function handleCSMessage(JSONMessage){
var Event = JSONMessage.event;
if(Event == com.webrtc.Socket.TYPE.OK){
var username = JSONMessage.username;
var roomid = JSONMessage.roomid;
console.log(username+roomid);
createMeetingVideoLabel2(roomid);
//至此已收到UDPClient的"UDP_OK"响应信息了,应该构造信令发往wcs了
}
else if(Event == com.webrtc.Socket.TYPE.FAILED){
var username = JSONMessage.username;
var reason = JSONMessage.reason;
console.log(username+reason);
//至此已收到UDPClient的"UDP_OK"响应信息了,应该构造信令发往wcs了
}
else if(Event == com.webrtc.Socket.TYPE.JOIN){
var roomid = JSONMessage.roomid;
createMeetingVideoLabel2(roomid);
}
else if(Event == com.webrtc.Socket.TYPE.MESSAGE){
var username = JSONMessage.username;
var content = JSONMessage.content;
console.log(username);
console.log(content);
}
}
function sendBefore() {
var username = com.webrtc.sigSessionConfig.username;
var events = $("input[name='event']").val();
var theme = $("input[name='theme']").val();
var confName = $("input[name='confName']").val();
var confType = Number($("input[name='confType']").val());
var duration = Number($("input[name='duration']").val());
var isImmediateConf = Number($("input[name='isImmediateConf']").val());
var reservationTime = $("input[name='reservationTime']").val();
var cycle = Number($("input[name='cycle']").val());
var member_num = Number($("input[name='member_num']").val());
var members = $("input[name='members']").val();
var socketMsg = com.webrtc.Socket.SocketMessage(events, username, theme, confName, confType, duration, isImmediateConf, reservationTime, cycle, member_num, members);
console.log("Send socket : " + JSON.stringify(socketMsg));
send(socketMsg);
}
function loginTonetty(){
var Username = document.getElementById("callerid").value;
var ConnectMsg = com.webrtc.Socket.ConnectMessage(com.webrtc.Socket.ConnectType.CONNECT, Username);
console.log("Send socket : " + JSON.stringify(ConnectMsg));
send(ConnectMsg);
}
var requestmeetinginfo = function(){
var Username = "9999";
var RequestMsg = com.webrtc.Socket.RequestMessage(com.webrtc.Socket.TYPE.REQUEST, Username,com.webrtc.Socket.MeeetingType.MeetingList);
console.log("Send socket : " + JSON.stringify(RequestMsg));
send(RequestMsg);
}
com.webrtc.Socket = {
SocketProtocol: function(events, username, theme, confName, confType, duration, isImmediateConf, reservationTime, cycle, member_num, members) {
var temp = {
"event": events,
"username": username,
"theme": theme,
"confName": confName,
"confType": confType,
"duration": duration,
"isImmediateConf": isImmediateConf,
"reservationTime": reservationTime,
"cycle": cycle,
"member_num": member_num,
"members": members,
};
return temp;
},
SocketMessage: function(events, username, theme, confName, confType, duration, isImmediateConf, reservationTime, cycle, member_num, members) {
var socketMsg = new com.webrtc.Socket.SocketProtocol(events, username, theme, confName, confType, duration, isImmediateConf, reservationTime, cycle, member_num, members);
return socketMsg;
},
ConnectProtocol: function(type,username) {
var temp = {
"type": type,
"username": username,
};
return temp;
},
ConnectMessage: function(type,username) {
var socketMsg = new com.webrtc.Socket.ConnectProtocol(type,username);
return socketMsg;
},
RequestProtocol: function(type,username,content) {
var temp = {
"type": type,
"username": username,
"content":content
};
return temp;
},
RequestMessage: function(type,username,content) {
var socketMsg = new com.webrtc.Socket.RequestProtocol(type,username,content);
return socketMsg;
}
},
com.webrtc.Socket.TYPE = {
OK:"UDP_OK",
FAILED:"UDP_FAILED",
JOIN:"UDP_JOIN",
MESSAGE:"UDP_MESSAGE",
REQUEST:"UDP_REQUEST"
},
com.webrtc.Socket.ConnectType = {
CONNECT: "connect",
DISCONNECT: "disconnect"
},
com.webrtc.Socket.MeeetingType = {
MeetingList: "meetinglist"
}