LitedB僵局 - 我可能会使用LitedB错误
所以我在C#中编写服务器.它有一个litedb数据库存储消息.每次服务器接收消息时,都会将消息存储在数据库中,并将副本发送到适当的目标. 由于LitedB应该是线程安全,因此我不使用锁来同步读/写入DB. 我已经在连接100个客户端的WPF应用程序上进行了测试,每个客户都在单独的任务中.每个客户都会向所有其他客户发送消息,并希望收到所有其他客户的消息.然后,我确保按预期发送/接收所有消息.对于每个客户和消息,我添加一些随机延迟. (一点点详细介绍.) 我在测试中观察到一些怪异的行为,我希望得到一些帮助. 服务器正确接收到前400-2000条消息,插入到数据库中,然后转发到其目的地.但是,一段时间后,一切都会变慢.一秒钟处理一次消息.也就是说,我看到一个文本(输出到控制台)说收到了消息,然后将消息插入到数据库中,但是我看不到文本说它已成功插入.我认为此消息正在等待某些内部litedb锁定要解锁或其他内容. 最终,经过1分钟,我得到以下例外: Exception
16 2024-04-26
编程技术问答社区
通过TCP传递JSON数据,套接字编程c#
我创建了一个桌面软件服务器系统,该系统接受客户端的字符串并插入数据库,这是服务器代码 public class TcpServer { public TcpListener _server; public Boolean _isRunning; Data_connection dbobject = new Data_connection(); SQLiteConnection SQLconnect = new SQLiteConnection(); Window win; public DataTable dt_stored; public List connected_users; public TcpServer(int port,Window _win) { win = _win; _server = new TcpListener(IPAddress.A
10 2024-04-25
编程技术问答社区
从CF上的多个TCP连接持续读取数据
我有一个简单的TCP服务器,能够在端口上收听并接受多个连接.然后,它不断等待数据从其连接中读取.为了方便起见,它使用包装程序类用于称为ConnectedClient的TCPCLIENT,以及连接clinectedclients的列表(字典)来跟踪所有连接.基本上是这样的: /* this method waits to accept connections indefinitely until it receives the signal from the GUI thread to stop. When a connection is accepted, it adds the connection to the list and calls a method called ProcessClient, which returns almost immediately.*/ public void waitForConnections() {
4 2024-04-25
编程技术问答社区
从服务器下载纹理时,错误m_InstanceID !=0
尝试从服务器下载纹理时,我会在Unity 5.4中遇到此错误. 这是代码(链接应起作用): UnityWebRequest www = UnityWebRequest.GetTexture("https://0.gravatar.com/avatar/fc2beef90fad49f83d79650a10b5c030?s=256&d=identicon&r=G"); www.SetRequestHeader("Accept", "image/*"); async = www.Send(); while (!async.isDone) yield return null; if (www.isError) { Debug.Log(www.error); } else { tex = DownloadHandlerTexture.GetContent(www);
8 2024-04-24
编程技术问答社区
无法连接到配置的开发网络服务器
如何在VS2015中解决"无法连接到配置的开发Web服务器"? P.S我已经检查了类似问题的答案,但没有帮助. 此图像来自Visual Studio 2015 每次我尝试查看网站时在浏览器中,此窗口弹出 解决方案 我终于解决了问题,看来我缺少使用服务器的权利(或类似的东西) 您可以在此链接中找到任何解决方案 如何解决"如何解决" Microsoft Visual Studio(VS)"错误"无法连接到配置的开发Web服务器" 其他解决方案 似乎在系统上安装了更高版本的VS版本,然后在使用vs vs vs vs版本之后,只需删除在.../documants中创建的IIS Express文件夹 它将运行 其他解决方案 运行Visual Studio 2015作为管理员为我工作
6 2024-04-23
编程技术问答社区
如何使用套接字从服务器发送和接收信息?
大家好,所以我有一项任务,我想将消息发送给服务器,然后再回复.我不断遇到failed 1recvfrom failed: EBADF (Bad file descriptor)错误,我是这个套接字的新事物.希望有人可以帮助我.这是我的异步任务: private class SendDataAsyncTask extends AsyncTask { private String reply = ""; @Override protected Void doInBackground(Void... params) { try { Socket socket = new Socket("ip",portNumber); PrintWriter printWriter = new PrintWrit
14 2024-04-23
编程技术问答社区
如何修复服务器端 socket.io 错误?
我在我的index.js文件中具有以下代码行: const express = require('express'); const app = express(); const server = require('http').Server(app); const io = require('socket.io').listen(server); 当我使用以下方式启动服务器时: 节点 - 信息服务器/index.js 我得到: TypeError:require(...).听不是函数. 所有的帮助都赞赏! 解决方案 您需要HTTP服务器. 启动插座服务器的正确方法是 const express = require("express"); const http = require("http"); const app = express(); const server = http.createServer(app) co
14 2024-04-23
编程技术问答社区
在服务器上的GetThumbnailImage中出现C#内存不足的异常
我正在运行以下代码以创建缩略图,当用户向我们发送图像时: public int AddThumbnail(byte[] originalImage, File parentFile) { File tnFile = null; try { System.Drawing.Image image; using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(originalImage)) { image = System.Drawing.Image.FromStream(memoryStream); } Log.Write("Original image width of [" + image.Wi
8 2024-04-22
编程技术问答社区
'System.Security.Cryptography.ProtectedData', 版本: '4.4.0' 找不到
我正在尝试在Windows Server 2012数据中心部署.NET Core应用程序. 我已经安装了执行dotnet assemblyname.dll我正在收到此错误: 错误:应用程序依赖项中指定的一个组件 清单(program_name.deps.json)没有找到: 软件包:'System.Security.Cryptography.protectedData',版本:'4.4.0' 路径:'runtimes/win/lib/netStandard2.0/system.security.cryptography.protecte ddata.dll' 我四处搜索,但找不到问题以及如何解决问题. 有什么问题,我应该如何解决? 解决方案 确保您的根应用程序目录下方有一个runtimes文件夹.我自己早些时候遇到了这个问题. 就我而言,我正在对发布目录进行robocopy,而不是使用/S(或/E)标志来复制子目录.使用这些标志确保了runtimes文件夹
14 2024-04-21
编程技术问答社区
悬而未决地认证为服务器
我正在使用 await stream.AuthenticateAsServerAsync(serverCert, true, SslProtocols.Tls, false); 在我的应用程序中以确保连接. 不幸的是,在极少数情况下(大约有1000例中,大约有一个)完全悬挂. 我试图在较低级别NetworkStream和TcpClient. 设置超时 但是什么都没有用,这些连接随着时间的推移不断积累. 完全悬挂着,我的意思是它被卡在里面持续了几天(如果应用程序运行时间很长). 我目前用肮脏的黑客解决了这一点.我要启动一个新线程,等待5秒钟,如果呼叫没有及时返回,我呼叫tcpClient.Close()迫使SSLSTREM进行中止. 这里有什么问题? 一般需要在功能上暂停的情况下,处理这样的方案的预期方法是什么,但是没有超负荷需要时间? ? TCPCLIENT上的较低级超时是否至少不引发异常?为什么这也不发生? 解决方案 原因 似乎所有
6 2024-04-21
编程技术问答社区
Microsofts异步服务器套接字实例
我有一个有关此 Question ). Microsoft更改了 while (true) { // Set the event to nonsignaled state. allDone.Reset(); // Start an asynchronous socket to listen for connections. Console.WriteLine("Waiting for a connection..."); listener.BeginAccept( new AsyncCallback(AcceptCallback), listener ); // Wait until a connection is made before continu
6 2024-04-20
编程技术问答社区
如何为Unity3d设计我的在线游戏服务器?
最近,我一直在Unity3D中进行多人游戏开发.我对团结的大师们的统一作用有一个很好的主意. 但是现在我想从头开始制作自己的游戏服务器.我研究并知道我们可以使用Google Cloud Compute和App Engine制作自己的对接服务器和游戏主机服务器. 但是我完全毫无头绪,我们如何开始对服务器进行编码.我们是否使用简单的HTTP请求和JSON结果进行操作?或者还有其他任何可以实时使用FPS类型游戏的技术.我认为发送HTTP请求并等待结果的结果不够快,可以在FPS类型游戏中工作. 起初,我想到编写PHP脚本并将其托管到一些URL,然后将请求发送到该URL并等待其响应.但是我发现,如果我使用此过程,那么仅需从服务器中获得一个响应,我至少将需要0.5秒或更多.在这种情况下,游戏中将有很多滞后. 我知道游戏服务器可以在某种TCP或UDP网络上使用.但是我的问题是,我应该为服务器接收这些数据并快速发送处理结果的应用程序. . 解决方案 首先,我认为您将 Masterserv
8 2024-04-19
编程技术问答社区
报告本地时间,而不是UTC的服务器时间
我创建了一个页面,在该页面中,服务器报告为用户显示天气数据.将时间保存为UTC,如何从Blazor Server应用中显示本地用户或浏览器的时间? 解决方案 没有JavaScript不可能获得用户时间. 如果使用Blazor Server端,则C#代码在服务器上运行. 但是您可以调用JavaScript函数. 请参阅 这是一个JavaScript,可以获取用户日期和时机(在_host.cshtml的标题元素中添加脚本标签): window.localDate = () => { var ldCurrentDate = new Date(); return ldCurrentDate.getFullYear() + "-" + String(ldCurrentDate.getMonth() + 1).padStart(2, '0') + "-" + String
16 2024-04-18
编程技术问答社区
如何在asp.net core中使用websockets
我试图开发一个游戏,我将计分板存储在存储在服务器上的文本文件中(目前在Localhost上).我正在使用HTTP获取和发布呼叫,以便与服务器进行通信,并获取并发送所需的数据.现在,我想实现Websocket,以便将通知从服务器发送到C#客户端.该通知只会在控制台上显示给用户的消息,例如,在MU情况下,我想每次将用户添加到记分板时,都会向用户显示一条消息,每次调用更新Coreboard方法.根据我在网上找到的教程,我设法构建了以下代码,谁能使我更清楚我将如何为服务器构建Websocket,以及如何在客户端上初始化Websocket?谢谢你 startup.cs(服务器) public void Configure(IApplicationBuilder app, IHostEnvironment env) { //deleted code var webSocketOptions = new WebS
12 2024-04-18
编程技术问答社区
Unity中的REST(从webserver向unity发送消息)。
有没有办法让简单的Web服务器发送消息到Unity? 目前,我们在更新方法中使用UnityWebRequest.Get()进行GET.这是代码: // Update is called once per frame void Update () { StartCoroutine(GetData()); } IEnumerator GetData() { UnityWebRequest uwr = UnityWebRequest.Get(url); yield return uwr.Send(); if (uwr.isError) { Debug.Log(uwr.error); }else { Debug.Log((float.Parse(uwr.downloadHandler.text) / 100)); fnumber = ((float.Parse(uwr.down
2 2024-04-17
编程技术问答社区
jlazor:是否有可能触发特定参数的ParameterSset方法?
如果有一个大麻组件并且具有三个参数,那么当更改三个参数中的特定一个特定一个时,是否只能在OnParametersset方法中触发逻辑?有没有办法检查OnParameterSset内部更改哪些参数? 解决方案 您可以在SetParametersAsync 中做类似的事情 [Parameter] public int MessageId { get; set; } [Parameter] public string? Text { get; set; } private int _messageId; private bool _notFirstRender; public override Task SetParametersAsync(ParameterView parameters) { // You must consume parameters immediately parameter
12 2024-04-16
编程技术问答社区
空DataTable到Json的列名。
我的应用程序分为两个部分:客户端和服务器. 服务器端询问SQL数据库并将结果存储在数据表中. 然后,我使用下一个功能将数据转换为JSON将其发送给客户端. 问题是当没有结果时,我会得到一个空字符串. 我想获得一个字符串,该字符串将允许客户端显示一个空数据表,但是使用列名,我的意思是使用列标题! 这是服务器端的函数,将数据词转换为JSON: public string ConvertDataTabletoString(DataTable dt) { System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue; L
6 2024-04-16
编程技术问答社区
如何在Blazor服务器应用程序中向登录页面传递returnUrl?
我有一个简单的Blazor Server应用程序,并具有使用单个身份验证的身份.我从VS 2019 Standard dotnet new模板中创建了该应用. 在应用程序的某些部分中,我想将用户引导到登录页面,同时传递returnUrl参数.我已经尝试了以下代码的变体来传递此参数( counter 是我要返回的页面): NavigationManager.NavigateTo("Identity/Account/Login?returnUrl=counter", forceLoad: true); NavigationManager.NavigateTo("Identity/Account/Login?returnUrl='/counter'", forceLoad: true); NavigationManager.NavigateTo("Identity/Account/Login?returnUrl='./counter'", forceLoad: true);
42 2024-04-13
编程技术问答社区
使用.NET和Xamarin的服务器客户端应用程序
我在互联网上搜索了很多小时,但找不到与我的情况相匹配的任何东西. 我只想用TCP或UDP实现服务器/客户端应用,其中我的Android应用(Xamarin)充当服务器,而我的.NET应用程序则作为客户端.由于我在应用程序开发方面没有太多经验,也没有Xamarin的经验,因此我一直在寻找一个例子.我发现的只是: http://www. codeproject.com/articles/340714/android-how-to-communicate-with-net-application-vi 首先是相反的方式(.NET和客户端作为应用程序的服务器),而另外它是针对Android Studio的,因此我很难将这些内容转换为Xamarin而无需任何错误. 请有人帮助我一个例子如何意识到我的问题? 谢谢! 解决方案 on Xamarin.Android您可以使用所有常规.NET套接字类: 名称空间: using System.Net; us
0 2024-04-12
编程技术问答社区