Commit cba08841 authored by sheteng's avatar sheteng

更新server字段

parent 39176743
......@@ -45,8 +45,8 @@ dependencies {
def multidex_version = "2.0.1"
implementation "androidx.multidex:multidex:$multidex_version"
def lifecycle_version = "2.3.1"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
......
......@@ -11,7 +11,6 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import com.ccwangluo.ccim.CCIMClient;
import com.ccwangluo.ccim.listener.OnConnectListener;
import com.ccwangluo.ccim.listener.OnPushMsgListener;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.ccim.modle.Contact;
......@@ -19,7 +18,6 @@ import com.ccwangluo.ccim.modle.MessageContent;
import com.ccwangluo.ccim.modle.NetStatus;
import com.ccwangluo.ccim.modle.PullContactsRes;
import com.ccwangluo.ccim.modle.User;
import com.ccwangluo.ccim.util.HmacUtil;
import com.ccwangluo.im.databinding.FragmentFirstBinding;
import java.util.ArrayList;
......@@ -41,29 +39,29 @@ public class FirstFragment extends Fragment {
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
String appKey = "c981adfde9c4000";
String userName = "user101";
Long userId = 101L;
String extData = "extData";
Long ts = System.currentTimeMillis();
String data = appKey + "&" + userId + "&" + userName + "&" + extData + "&" + ts +
"&wW7cR31PwJseIoZMOs311nljHpwUmujs";
//sign计算在服务器,本地不要暴露appsecrect
String sign = HmacUtil.stringToSign("wW7cR31PwJseIoZMOs311nljHpwUmujs", data);
CCIMClient.getInstance().initSDK(getContext(), appKey, userName, extData, userId, ts, sign, new OnConnectListener() {
@Override
public void onSocketConnection() {
refreshLogView("connect success");
}
@Override
public void onSocketDisconnection(int code) {
}
});
// String appKey = "c981adfde9c4000";
// String userName = "user101";
// Long userId = 101L;
// String extData = "extData";
// Long ts = System.currentTimeMillis();
// String data = appKey + "&" + userId + "&" + userName + "&" + extData + "&" + ts +
// "&wW7cR31PwJseIoZMOs311nljHpwUmujs";
// //sign计算在服务器,本地不要暴露appsecrect
// String sign = HmacUtil.stringToSign("wW7cR31PwJseIoZMOs311nljHpwUmujs", data);
//
// CCIMClient.getInstance().initSDK(getContext(), appKey, userName, extData, userId, ts, sign, new OnConnectListener() {
// @Override
// public void onSocketConnection() {
// refreshLogView("connect success");
// }
//
// @Override
// public void onSocketDisconnection(int code) {
//
// }
//
//
// });
CCIMClient.getInstance().registerMessageListener(new OnPushMsgListener() {
......
......@@ -30,16 +30,16 @@ public class LoginViewModel extends ViewModel {
public MutableLiveData<List<Long>> channelList = new MutableLiveData<>();
public void login(Context context, String appKey, String appsecret, String username, String userId, String ip, int port) {
public void login(Context context, String appKey, String appsecret, String username, String userId,String server, String ip, int port) {
Long id = Long.parseLong(userId);
String extData = "extData";
Long ts = System.currentTimeMillis();
String data = appKey + "&" + id + "&" + username + "&" + extData + "&" + ts +
String data = appKey + "&" + id + "&" + username + "&" + server + "&" + extData + "&" + ts +
"&" + appsecret;
//sign计算在服务器,本地不要暴露appsecrect
String sign = HmacUtil.stringToSign(appsecret, data);
CCIMClient.getInstance().initServer(ip, port);
CCIMClient.getInstance().initSDK(context, appKey, username, extData, id, ts, sign, new OnConnectListener() {
CCIMClient.getInstance().initSDK(context, appKey, username, extData, id, ts, sign,server, new OnConnectListener() {
@Override
public void onSocketConnection() {
System.out.println("onSocketConnection");
......
......@@ -63,8 +63,9 @@ public class LoginActivity extends AppCompatActivity {
String appkey = binding.appkey.getText().toString();
String appSecret = binding.appSecret.getText().toString();
String ip = binding.ip.getText().toString();
String server = binding.server.getText().toString();
int port = Integer.parseInt(binding.port.getText().toString());
loginViewModel.login(getApplicationContext(),appkey,appSecret,username, id,ip,port);
loginViewModel.login(getApplicationContext(),appkey,appSecret,username, id,server,ip,port);
}
});
}
......
......@@ -69,7 +69,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:hint="ip"
android:text="106.15.237.67"
android:text="10.4.5.134"
android:imeActionLabel="@string/action_sign_in_short"
android:imeOptions="actionDone"
android:selectAllOnFocus="true"
......@@ -91,6 +91,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/username" />
<EditText
android:id="@+id/server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:hint="server"
android:text="1"
android:imeActionLabel="@string/action_sign_in_short"
android:imeOptions="actionDone"
android:selectAllOnFocus="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/username" />
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
......
......@@ -87,10 +87,10 @@ public class CCIMClient {
socketManager.initServer(ip, port);
}
public void initSDK(Context context, String appKey, String userName, String extData, Long userId, Long ts, String sign, OnConnectListener resultCallback) {
public void initSDK(Context context, String appKey, String userName, String extData, Long userId, Long ts, String sign,String server, OnConnectListener resultCallback) {
this.userId = userId;
messageManager.init(context, userId);
socketManager.initChat(context, appKey, userName, extData, userId, ts, sign, new OnClientConnectListener() {
socketManager.initChat(context, appKey, userName, extData, userId, ts, sign,server, new OnClientConnectListener() {
@Override
public void onSocketConnection(Chat.ConnectResponse.ClientConfig clientConfig) {
maxSendMsgInterval = clientConfig.getSendMsgInterval();
......
......@@ -41,7 +41,7 @@ public class SocketManager {
private SocketClient socketClient;
public void connectChatServer(String appKey, String userName, String extData, Long userId, Long ts, String sign) {
public void connectChatServer(String appKey, String userName, String extData, Long userId, Long ts, String sign,String gameServer) {
logger.info("send connect");
Chat.ChatRequestMessage.Builder builder = Chat.ChatRequestMessage.newBuilder();
Chat.ConnectRequest connectRequest = Chat.ConnectRequest.newBuilder()
......@@ -50,6 +50,7 @@ public class SocketManager {
.setUserId(userId)
.setExtData(extData)
.setTs(ts)
.setGameServer(gameServer)
.setSign(sign)
.build();
builder.setConnectReq(connectRequest);
......@@ -72,7 +73,7 @@ public class SocketManager {
});
}
public void initChat(Context context, String appKey, String userName, String extData, Long userId, Long ts, String sign, OnClientConnectListener resultCallback) {
public void initChat(Context context, String appKey, String userName, String extData, Long userId, Long ts, String sign,String server, OnClientConnectListener resultCallback) {
onConnectListener = resultCallback;
if (socketClient == null) {
socketClient = new NettyChatClient(context, SERVER_IP, SERVER_PORT);
......@@ -80,7 +81,7 @@ public class SocketManager {
socketClient.connect(new MessageListener() {
@Override
public void onServerConnect() {
connectChatServer(appKey, userName, extData, userId, ts, sign);
connectChatServer(appKey, userName, extData, userId, ts, sign,server);
}
@Override
......@@ -106,7 +107,7 @@ public class SocketManager {
}
if (data.getHeader().getCode() == Common.StatusCode.STATUS_CODE_NO_AUTH_ERROR) { //断线重连
connectChatServer(appKey, userName, extData, userId, ts, sign);
connectChatServer(appKey, userName, extData, userId, ts, sign,server);
}
int seq = data.getHeader().getSeq();
ResultEventCallback<Chat.ChatResponseMessage> callBack = callBackManager.getCallBack(seq);
......
......@@ -102,8 +102,10 @@ message ConnectRequest {
string ext_data = 4;
int64 ts = 5;
string sign = 6;
string game_server = 7;
// sign使用HMAC加密算法,由接入端的服务端计算完成传给接入端的客户端
// sign = HMAC_SHA256(app_secret).digestToHex(app_key&user_id&username&ext_data&ts&app_secret)
// sign = HMAC_SHA256(app_secret).digestToHex(app_key&user_id&username&game_server&ext_data&ts&app_secret)
// ts=CurrentTimeMillis (毫秒)
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment