【问题标题】:MySQL remote connection from UWP with socket error but TCP connection来自 UWP 的 MySQL 远程连接,套接字错误但 TCP 连接
【发布时间】:2018-07-31 21:42:55
【问题描述】:

我在开发人员机器上有一个小型 C# 应用程序(VS 2017,UWP),它应该在另一台机器上提供一个 mysql 数据库。

使用 MySQL-shell 我可以连接,但应用程序不能(访问一个套接字被拒绝,因为该套接字的套接字权限)。

该应用程序可以与开发人员计算机 (localhost) 上的数据库一起正常工作。 经过数小时的网络搜索,我了解到远程访问是通过套接字或 TCP 发生的;此外,该套接字在 Windows 中并不是真正的东西。

但是在 my.ini 文件中有 2 个位置带有套接字(#socket =0.0 和 #socket=MySQL,我像以前一样取消了错误的注释)。

我有一个 TCP 连接,为什么会出现套接字错误?命名管道似乎以某种方式与 Windows 等效,但仅限于本地连接,并且据我所知再次作为 TCP 的替代方案。

奇怪的是,在工作台服务器状态上,配置文件的路径显示“...MySQL Server 5.5\ my.ini”,虽然服务器是 5.7,这也是真正的文件夹名称。有人会认为找不到配置文件,但为什么使用 shell 时连接正常?没有 my.ini,shell 可以建立连接吗?会不会是这个问题?

我重新安装了 MySQL,因为我认为安装已损坏,但结果相同。 (在开发者机器上路径是正确的。

如果有人可以提供帮助会很高兴!

【问题讨论】:

  • 您只能在具有相同目标 IP 和端口的 PC 上建立一个连接。您可能不止一次打开同一个连接。没有理由 MySQL-shell 可以连接而您的 c# 应用程序不能来自同一台 PC。
  • 感谢您的提示!所以它可能是这样发生的:我尝试了 shell-connection,不久之后从应用程序中尝试了 shell-connection,但 shell-connection 仍然打开......我在工作台上观察连接状态,但由于我是 MySQL 新手,并且无论如何,一个业余爱好者,我没有得到那里发生的一切。
  • 您可以从 cmd.exe >Netstat -a 检查连接状态,这将提供所有 tpc 连接。

标签: c# mysql sockets


【解决方案1】:

unix 套接字用于同一主机上的进程之间的通信。在本地机器上,您可以使用套接字或 TCP。如果你想要一个远程连接,那就是 TCP。

【讨论】:

  • 好吧,但是为什么是TCP连接和windows机器会出现socket权限错误呢?
猜你喜欢
  • 2018-03-31
  • 2013-06-29
  • 1970-01-01
  • 2011-08-31
  • 2023-03-21
  • 2020-09-25
  • 1970-01-01
  • 2012-11-26
相关资源
最近更新 更多