private void Connect(ConnectSetting connectSetting, string roomName = null) { // Player name is empty. if (nameInputField) { if (string.IsNullOrEmpty(nameInputField.text) || nameInputField.text.All(char.IsWhiteSpace)) { return; } } currentConnectSetting = connectSetting; currentConnectionRoomName = roomName; if (currentConnectSetting == ConnectSetting.Offline && PhotonNetwork.IsConnected) { preparingOfflineMode = true; PhotonNetwork.Disconnect(); return; } PhotonNetwork.OfflineMode = currentConnectSetting == ConnectSetting.Offline ? true : false; isConnecting = true; connectionProgress.SetActive(true); if (PhotonNetwork.IsConnected) { OnConnectedToMaster(); } else { PhotonNetwork.GameVersion = gameVersion; PhotonNetwork.ConnectUsingSettings(); } }
override public Task <IResponse> ExecuteAsync(IRequest request, ConnectSetting connectSetting = null) { var fullKey = request.Method.Method + " " + config.Platform + " " + request.URI + request.QueryString; var partKey = request.Method.Method + " " + config.Platform + " " + request.URI; var matches = mapping.Where(d => fullKey == d.Key).ToList(); if (matches.Count == 0) { matches = mapping.Where(d => partKey == d.Key).ToList(); } if (matches.Count == 0) { matches = mapping.Where(d => fullKey.StartsWith(d.Key)).OrderBy(d => d.Key.Length).ToList(); } if (matches.Count == 0) { throw new Exception.GatewayException("Unable to find fade file for the request."); } string content = LoadFile(matches[0].Value + "." + request.GetAPIFormat().ToString().ToLower()); var response = BuildResponseObject(content, (System.Net.HttpStatusCode) 200, request.GetAPIFormat()); return(Task.FromResult <IResponse>(response)); }
static void Main(string[] args) { ListenerProxy gameListener = null; ListenerProxy clientListener = null; HttpListenerProxy httpListener = null; try { var gameTran = new GameTransponder(); var clientTran = new HttpTransponder(); clientTran.ReceiveCompleted += gameTran.Send; clientTran.SocketClosing += gameTran.OnTcpClientClosed; gameTran.ReceiveCompleted += clientTran.Send; ConnectSetting gameSetting = LoadGameSetting(); ConnectSetting clientSetting = LoadClientSetting(); HttpSettings httpSetting = LoadHttpSetting(); gameListener = new ListenerProxy(gameTran, gameSetting); clientListener = new ListenerProxy(clientTran, clientSetting); httpListener = new HttpListenerProxy(httpSetting); httpListener.RequestCompleted += clientTran.Request; httpListener.RequestTimeout += clientTran.RequestTimeout; clientTran.ResponseCompleted += httpListener.PushSend; gameListener.Listen(); Console.WriteLine("【游戏服监听端口:{0}】正在监听中...", gameSetting.Port); clientListener.Listen(); Console.WriteLine("【客户端监听端口:{0}】正在监听中...", clientSetting.Port); httpListener.Listen(); Console.WriteLine("【Http监听端口:{0}:{1}/{2}】正在监听中...", httpSetting.HostAddress, httpSetting.Port, httpSetting.GameAppName); Console.ReadLine(); } catch (Exception ex) { TraceLog.WriteError("SocketServer error:{0}", ex); } finally { if (clientListener != null) { clientListener.Dispose(); } if (gameListener != null) { gameListener.Dispose(); } if (httpListener != null) { httpListener.Dispose(); } } }
public async Task <GetIndustryListResponse> GetIndustryList(ConnectSetting connectSetting = null) { var request = CreateRequest(); request.URI = "sellermgmt/seller/industry"; var response = await client.GetAsync(request, connectSetting); var result = await ProcessResponse <GetIndustryListResponse>(response); return(result); }
public async Task <GetFeedResultResponse> GetFeedResult(string requestID, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest(APIFormat.XML); request.URI = string.Format("datafeedmgmt/feeds/result/{0}", requestID); var response = await client.GetAsync(request, connectSetting); var result = await ProcessResponse <GetFeedResultResponse>(response); return(result); }
private Task <IResponse> ExecuteAsync(IRequest request, ConnectSetting connectSetting = null) { if (connectSetting == null) { return(RetryPolicy.GetResponse(Extractor, request)); } else { var copyConfig = config.Clone(); copyConfig.Connection = connectSetting; return(new Retry.FixedCountPolicy(connectSetting.AttemptsTimes, connectSetting.RetryIntervalMs) .GetResponse(extractorFactory.CreateExtractor(SimulationEnabled, copyConfig), request)); } }
private static ConnectSetting LoadSetting(string preKey) { var setting = new ConnectSetting(); setting.Host = ConfigUtils.GetSetting(preKey + ".Host"); setting.Port = ConfigUtils.GetSetting(preKey + ".Port").ToInt(); setting.Backlog = ConfigUtils.GetSetting(preKey + ".Backlog", "10").ToInt(); setting.ConnectTimeout = ConfigUtils.GetSetting(preKey + ".ContinuedTimeout", "60").ToInt(); setting.BufferSize = ConfigUtils.GetSetting(preKey + ".BufferSize", "1024").ToInt(); setting.MinPoolSize = ConfigUtils.GetSetting(preKey + ".MinConnectNum", "10").ToInt(); setting.MaxPoolSize = ConfigUtils.GetSetting(preKey + ".MaxConnectNum", "1000").ToInt(); setting.EnableReceiveTimeout = ConfigUtils.GetSetting(preKey + ".EnableReceiveTimeout", "false").ToBool(); setting.ReceiveTimeout = ConfigUtils.GetSetting(preKey + ".ReceiveTimeout", "30000").ToInt(); return(setting); }
override public async Task <IResponse> ExecuteAsync(IRequest request, ConnectSetting connectSetting = null) { if (request.URI == "") { throw new Base.Exception.InvalidValueException("Empty URI."); } try { request.GetReady(); HttpResponseMessage result = await client.SendAsync(await CloneRequestMessageAsync(request.HttpRequest)); if (result.StatusCode != HttpStatusCode.OK) { ExceptionInfo info = await GetInfromationFromResponseAsync(result, request.GetAPIFormat()); switch (result.StatusCode) { case HttpStatusCode.ServiceUnavailable: throw new GatewayException("Can not connect to Server."); case HttpStatusCode.Forbidden: throw new AuthenticationException("Authentication Failed."); case (HttpStatusCode)429: throw new ThrottleException("Too many requests in the time period."); } } return(new Response(result, request.GetAPIFormat())); } catch (SocketException ex) { throw new ConnectionException("Network error while connecting to the API.", ex); } catch (TaskCanceledException ex) { throw new ConnectionException("The connection is interrupted.", ex); } catch (System.Exception ex) { throw ex; } }
public Task <IResponse> PutAsync(IRequest request, ConnectSetting connectSetting = null) { request.Method = HttpMethod.Put; return(ExecuteAsync(request, connectSetting)); }
public async Task <SellerStatusCheckResponse> SellerStatusCheck(string version = null, ConnectSetting connectSetting = null) { var request = CreateRequest(); request.URI = "sellermgmt/seller/accountstatus"; if (!string.IsNullOrEmpty(version)) { request.QueryParams.Add("version", version); } var response = await client.GetAsync(request, connectSetting); var result = await ProcessResponse <SellerStatusCheckResponse>(response); return(result); }
public async Task <GetSubcategoryStatusForInternationalCountryResponse> GetSubcategoryStatusForInternationalCountry(GetSubcategoryStatusForInternationalCountryRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <GetSubcategoryStatusForInternationalCountryRequest>(reqModel); request.URI = "sellermgmt/seller/subcategory/v2"; var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <GetSubcategoryStatusForInternationalCountryResponse>(response); return(result); }
public async Task <ReceiveRMAResponse> ReceiveRMA(ReceiveRMARequest reqModel, int?Version = null, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <ReceiveRMARequest>(reqModel); request.URI = "servicemgmt/rma/updaterma"; if (Version != null) { request.QueryParams.Add("version", Version.ToString()); } var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <ReceiveRMAResponse>(response); return(result); }
public async Task <GetSBNOrderCancellationRequestResultResponse> GetSBNOrderCancellationRequestResult(string OrderNumber, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest(); request.URI = string.Format("ordermgmt/sbnorder/cancellationresult/{0}", OrderNumber); var response = await client.GetAsync(request, connectSetting); var result = await ProcessResponse <GetSBNOrderCancellationRequestResultResponse>(response); return(result); }
public async Task <VolumeDiscountFeedResponse> SubmitFeed_VolumeDiscountFeed(VolumeDiscountFeedRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <VolumeDiscountFeedRequest>(reqModel); request.URI = "datafeedmgmt/feeds/submitfeed"; request.QueryParams.Add("requesttype", RequestType.VOLUME_DISCOUNT_DATA.ToString()); var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <VolumeDiscountFeedResponse>(response); return(result); }
public async Task <MultiChannelOrderFeedResponse> SubmitFeed_MultiChannelOrderFeed(MultiChannelOrderFeedRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <MultiChannelOrderFeedRequest>(reqModel); request.URI = "datafeedmgmt/feeds/submitfeed"; request.QueryParams.Add("requesttype", RequestType.MULTICHANNEL_ORDER_DATA.ToString()); var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <MultiChannelOrderFeedResponse>(response); return(result); }
public async Task <GetFeedStatusResponse> GetFeedStatus(GetFeedStatusRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <GetFeedStatusRequest>(reqModel); request.URI = "datafeedmgmt/feeds/status"; var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <GetFeedStatusResponse>(response); return(result); }
public async Task <bool> DownloadFeedSchema(string DownloadPath, DownloadFeedSchemaRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <DownloadFeedSchemaRequest>(reqModel); request.URI = "sellermgmt/seller/feedschema"; var response = await client.PutAsync(request, connectSetting); byte[] content = await response.RawResponse.Content.ReadAsByteArrayAsync(); System.IO.File.WriteAllBytes(DownloadPath, content); return(true); }
public async Task <RemoveItemResponse> RemoveItem(string OrderNumber, RemoveItemRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <RemoveItemRequest>(reqModel); request.URI = string.Format("ordermgmt/killitem/orders/{0}", OrderNumber); var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <RemoveItemResponse>(response); return(result); }
public async Task <OrderConfirmationResponse> OrderConfirmation(OrderConfirmationRequest reqModel, ConnectSetting connectSetting = null) { var request = CreateRequest <OrderConfirmationRequest>(reqModel); request.URI = "ordermgmt/orderstatus/orders/confirmation"; var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <OrderConfirmationResponse>(response); return(result); }
public async Task <ShipOrderResponse> ShipOrder(string OrderNumber, int?Version, ShipOrderRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <ShipOrderRequest>(reqModel); request.URI = string.Format("ordermgmt/orderstatus/orders/{0}", OrderNumber); if (Version != null) { request.QueryParams.Add("version", Version.ToString()); } var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <ShipOrderResponse>(response); return(result); }
public async Task <GetAdditionalOrderInformationResponse> GetAdditionalOrderInformation(GetAdditionalOrderInformationRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <GetAdditionalOrderInformationRequest>(reqModel); request.URI = "ordermgmt/order/addorderinfo"; var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <GetAdditionalOrderInformationResponse>(response); return(result); }
public async Task <GetSubcategoryPropertyValuesResponse> GetSubcategoryPropertyValues(GetSubcategoryPropertyValuesRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <GetSubcategoryPropertyValuesRequest>(reqModel); request.URI = "sellermgmt/seller/propertyvalue"; var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <GetSubcategoryPropertyValuesResponse>(response); return(result); }
public async Task <OrderShipNoticeFeedResponse> SubmitFeed_OrderShipNoticeFeed(OrderShipNoticeFeedRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <OrderShipNoticeFeedRequest>(reqModel); request.URI = "datafeedmgmt/feeds/submitfeed"; request.QueryParams.Add("requesttype", RequestType.ORDER_SHIP_NOTICE_DATA.ToString()); var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <OrderShipNoticeFeedResponse>(response); return(result); }
public async Task <IssueCourtesyRefundResponse> IssueCourtesyRefund(IssueCourtesyRefundRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <IssueCourtesyRefundRequest>(reqModel); request.URI = "servicemgmt/courtesyrefund/new"; var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <IssueCourtesyRefundResponse>(response); return(result); }
public async Task <ItemSubscriptionFeedResponse> SubmitFeed_ItemSubscriptionFeed(ItemSubscriptionFeedRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <ItemSubscriptionFeedRequest>(reqModel); request.URI = "datafeedmgmt/feeds/submitfeed"; request.QueryParams.Add("requesttype", RequestType.ITEM_SUBSCRIPTION.ToString()); var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <ItemSubscriptionFeedResponse>(response); return(result); }
public async Task <GetCourtesyRefundInformationResponse> GetCourtesyRefundInformation(GetCourtesyRefundInformationRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <GetCourtesyRefundInformationRequest>(reqModel); request.URI = "servicemgmt/courtesyrefund/info"; var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <GetCourtesyRefundInformationResponse>(response); return(result); }
public async Task <GetRMAInformationResponse> GetRMAInformation(GetRMAInformationRequest reqModel, int?Version = null, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <GetRMAInformationRequest>(reqModel); request.URI = "servicemgmt/rma/rmainfo"; if (Version != null) { request.QueryParams.Add("version", Version.ToString()); } var response = await client.PutAsync(request, connectSetting); var result = await ProcessResponse <GetRMAInformationResponse>(response); return(result); }
abstract public Task <IResponse> ExecuteAsync(IRequest request, ConnectSetting connectSetting = null);
public async Task <InventoryUpdateFeedResponse> SubmitFeed_InventoryUpdateFeed(InventoryUpdateFeedRequest reqModel, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest <InventoryUpdateFeedRequest>(reqModel); request.URI = "datafeedmgmt/feeds/submitfeed"; request.QueryParams.Add("requesttype", RequestType.INVENTORY_DATA.ToString()); var response = await client.PostAsync(request, connectSetting); var result = await ProcessResponse <InventoryUpdateFeedResponse>(response); return(result); }
public async Task <GetInboundShipmentResultResponse> GetInboundShipmentRequestResult(string Required, ConnectSetting connectSetting = null, LoggingConfiguration logSetting = null) { var request = CreateRequest(); request.URI = string.Format("sbnmgmt/inboundshipment/shipmentresult/{0}", Required); var response = await client.GetAsync(request, connectSetting); var result = await ProcessResponse <GetInboundShipmentResultResponse>(response); return(result); }