小编Daa*_*aan的帖子

使用相同的tcpclient进行读/写并使其保持活动状态

我有以下情况:
客户端 - >路由器 - > Internet - >专用服务器

客户端:启动时,连接到服务器并保持连接打开.偶尔从服务器接收文件更改的通知.启动同步过程,然后通知服务器是否成功.有时可能会失去连接,因此必须建立新的连接.

服务器(Internet):包含有时会更改的文件.接受传入的客户端,并保留该客户端的tcpclient对象.它永远不能直接与客户端连接,因为客户端位于多个路由器后面; 这就是连接必须保持打开的原因.在进行更改时通知客户端.并且还检查每个客户端是否有同步成功消息.

问题:

  1. 如何在客户端和服务器端有效地保持连接打开?

  2. 当客户端想要通知服务器同步过程成功时会发生什么,但同时服务器通知客户端有新的更新..?

  3. 仅仅创建一个Tcpclient(客户端)并在整个程序中保留此对象是一个好习惯吗?当某些网络操作失败时,尝试再次连接此tcpclient对象?

我做了很多研究,但无法真正找到一直使用相同tcpclient的东西..

顺便说一句:这是一个基于我之前帖子的新线程,是否提出了这个解决方案(重用tcpclient)(udp数据包未通过)

欢迎Daan并提前感谢您的关注

c# networking network-programming tcp

4
推荐指数
1
解决办法
7435
查看次数

filesize stat失败

我有一个运行的php脚本,它循环遍历指定目录中的所有文件.它为它找到的每个文件返回name,filesize,modified_date等.该脚本正确返回大多数文件的信息,除了包含中文或其他符号的文件.然后我得到着名的filesize stat失败错误(警告).如何在不更改文件名的情况下解决这个问题?

如果需要,我会提供代码.

php unicode

2
推荐指数
1
解决办法
1万
查看次数

调用线程无法访问此对象,因为另一个线程拥有它

在论坛上似乎发现了很多这些错误,但我不能在我的情况中应用大部分错误.

我的问题:

我有一个页面:PosterHome.xaml,上面有一个统一的网格.在我的代码隐藏中,我有一个drawthread:

drawThread = new Thread(new ThreadStart(drawPosters));
                drawThread.SetApartmentState(ApartmentState.STA);
                drawThread.Start();
Run Code Online (Sandbox Code Playgroud)

这个threadmethod(drawPosters)偶尔被另一个类唤醒,使用autoresetevent.我正在更改统一网格行的那一刻,我在这个方法中得到错误:

while (true)
{
  waitEvent.WaitOne();
  //do some calculations
  // change uniform grid rows & cols
  posterUniformGrid.Rows = calculatedRows; //**-> error is first thrown here**
  posterUniformGird.Columns = calculatedCols;             
}
Run Code Online (Sandbox Code Playgroud)

我该怎么处理?提前致谢.

迎接大安

c# wpf multithreading

0
推荐指数
1
解决办法
2451
查看次数

标签 统计

c# ×2

multithreading ×1

network-programming ×1

networking ×1

php ×1

tcp ×1

unicode ×1

wpf ×1