修复通过用户抖音号进入房间房间信息匹配不到的问题
This commit is contained in:
@@ -33,6 +33,6 @@ using System.Runtime.InteropServices;
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.7.3.0")]
|
||||
[assembly: AssemblyFileVersion("2.7.3.0")]
|
||||
[assembly: AssemblyVersion("2.7.4.0")]
|
||||
[assembly: AssemblyFileVersion("2.7.4.0")]
|
||||
[assembly: NeutralResourcesLanguage("zh-CN")]
|
||||
|
||||
@@ -108,7 +108,8 @@ namespace BarrageGrab.Proxy
|
||||
{
|
||||
RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
|
||||
registry.SetValue("ProxyEnable", 1);
|
||||
registry.SetValue("ProxyServer", $"http=localhost:{ProxyPort};https=localhost:{ProxyPort}");
|
||||
registry.SetValue("ProxyServer", $"127.0.0.1:{ProxyPort}");
|
||||
|
||||
OnProxyStatus?.Invoke(this, new SystemProxyChangeEventArgs()
|
||||
{
|
||||
Open = true
|
||||
|
||||
@@ -243,7 +243,7 @@ namespace BarrageGrab.Proxy
|
||||
var urlNoQuery = url.Split('?')[0];
|
||||
var processid = e.HttpClient.ProcessId.Value;
|
||||
var processName = base.GetProcessName(processid);
|
||||
var liveRoomMactch = Regex.Match(uri.Trim(), @".*:\/\/live.douyin\.com\/(\d+)");
|
||||
var liveRoomMactch = Regex.Match(uri.Trim(), @".*:\/\/live.douyin\.com\/([0-9a-zA-Z_]+)");
|
||||
var liveHomeMatch = Regex.Match(uri.Trim(), @".*:\/\/live.douyin\.com\/?$");
|
||||
var contentType = e.HttpClient.Response.ContentType ?? "";
|
||||
|
||||
@@ -586,8 +586,10 @@ namespace BarrageGrab.Proxy
|
||||
proxyServer.Start(AppSetting.Current.UsedProxy);
|
||||
if (AppSetting.Current.UsedProxy)
|
||||
{
|
||||
proxyServer.SetAsSystemHttpProxy(explicitEndPoint);
|
||||
proxyServer.SetAsSystemHttpsProxy(explicitEndPoint);
|
||||
base.RegisterSystemProxy();
|
||||
//使用其自带的系统代理设置可能会导致格式问题
|
||||
//proxyServer.SetAsSystemHttpProxy(explicitEndPoint);
|
||||
//proxyServer.SetAsSystemHttpsProxy(explicitEndPoint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,11 +125,11 @@ namespace BarrageGrab
|
||||
var response = Serializer.Deserialize<Response>(new ReadOnlyMemory<byte>(allBuff));
|
||||
|
||||
|
||||
response.Messages.ForEach(f => DoMessage(f,e.ProcessName));
|
||||
response.Messages.ForEach(f => DoMessage(f, e.ProcessName));
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogError(ex,$"处理弹幕数据包时出错:{ex.Message}");
|
||||
Logger.LogError(ex, $"处理弹幕数据包时出错:{ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ namespace BarrageGrab
|
||||
|
||||
response.Messages.ForEach(f =>
|
||||
{
|
||||
DoMessage(f,e.ProcessName);
|
||||
DoMessage(f, e.ProcessName);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ namespace BarrageGrab
|
||||
Dictionary<string, List<long>> msgDic = new Dictionary<string, List<long>>();
|
||||
|
||||
//发送事件
|
||||
private void DoMessage(Message msg,string processName)
|
||||
private void DoMessage(Message msg, string processName)
|
||||
{
|
||||
List<long> msgIdList;
|
||||
if (msgDic.ContainsKey(msg.Method))
|
||||
@@ -168,7 +168,11 @@ namespace BarrageGrab
|
||||
}
|
||||
|
||||
msgIdList.Add(msg.msgId);
|
||||
if (msgIdList.Count > 300) msgIdList.RemoveAt(0);
|
||||
//每种消息类型设置300容量应该足够,不太可能存在一条消息被挤出队列后再次出现
|
||||
while (msgIdList.Count > 300)
|
||||
{
|
||||
msgIdList.RemoveAt(0);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
@@ -178,13 +182,13 @@ namespace BarrageGrab
|
||||
case "WebcastMemberMessage":
|
||||
{
|
||||
var arg = Serializer.Deserialize<MemberMessage>(new ReadOnlyMemory<byte>(msg.Payload));
|
||||
this.OnMemberMessage?.Invoke(this, new RoomMessageEventArgs<MemberMessage>(processName,arg));
|
||||
this.OnMemberMessage?.Invoke(this, new RoomMessageEventArgs<MemberMessage>(processName, arg));
|
||||
break;
|
||||
}
|
||||
//关注
|
||||
case "WebcastSocialMessage":
|
||||
{
|
||||
var arg = Serializer.Deserialize<SocialMessage>(new ReadOnlyMemory<byte>(msg.Payload));
|
||||
var arg = Serializer.Deserialize<SocialMessage>(new ReadOnlyMemory<byte>(msg.Payload));
|
||||
this.OnSocialMessage?.Invoke(this, new RoomMessageEventArgs<SocialMessage>(processName, arg));
|
||||
break;
|
||||
}
|
||||
@@ -255,7 +259,7 @@ namespace BarrageGrab
|
||||
|
||||
public RoomMessageEventArgs()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public RoomMessageEventArgs(string process, T data)
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
@@ -25,10 +27,8 @@
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -40,12 +40,12 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject />
|
||||
|
||||
Reference in New Issue
Block a user