socket通信的初级问题

待续_1006 2016-11-12 12:21:58
问题1 目前使用SOCKET通信【TCP连接】已经支持服务器和客户端之间的通信,但是测试只是在同一机器或是不同机器同一IP网段下测试的,如果是不同网段的话需要更改什么配置吗?

问题 2 如果多个客户端需要在同时连接一个服务器【同时不超过100个客户端】,有什么好的建议吗?不需要太讲究效率,但是数据很重要,需要保证完整性

windows平台
...全文
104 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
待续_1006 2016-11-13
  • 打赏
  • 举报
回复
引用 5 楼 ipqtjmqj 的回复:
[quote=引用 4 楼 shiyanbo_1006 的回复:] [quote=引用 3 楼 ipqtjmqj 的回复:] [quote=引用 2 楼 shiyanbo_1006 的回复:] [quote=引用 1 楼 ipqtjmqj 的回复:] 问题1:不需要,socket是运输层的接口,如果在不同网段,那是网络层的事 问题2:多线程,访问公共数据则加锁
问题2清楚了,但是对于问题1,我代码连接调试的时候就报错10038,查了一下是连接MYSQL数据库失败,请问连接远程数据库需要如何配置,新手真的是不懂啊,谢谢[/quote] 远程连数据库,要公网ip,内网需要作端口映射[/quote] 你好我对网络通信只是了解到了一点点,能加下你的QQ吗,这个问题真的难倒我了 我目前做的事情是这样的,产品的客户端和服务器在一个机器上安装是没有任何问题的或是同一局域网IP例如192.168.1.101之类的 现在我要做的是看这个程序的客户端是否可以了解远程的服务器,因为客户端在运行的时候有配置文件可以填写服务器的IP地址但是代码调试始终是返回10038连接数据库失败mysql_real_connect( &m_hFileDb, struConfig.aServerAddr, struConfig.aUser, struConfig.aPassword, struConfig.aDBName, struConfig.iDBPort ,NULL, 0 )) 我看了IP地址和用户名密码都是没有问题的,如果IP是192.168.1.1之类的同一局域的就没问题,如果服务器在10.121.12.12上,服务器上需要怎么配置权限啊?[/quote] IP地址分为公有与私有,你可以网上自己搜索了解一下。 服务器必须有公网的ip,10开头是私有ip, 如果没有公网ip,那么与服务器相连路由器要有公网ip,然后在服务器上设置一下端口映射。 一般服务器都可以用网上虚拟主机,云主机等等。[/quote] 你好能加下你的QQ吗,初学者对这个问题弄疯了!
ipqtjmqj 2016-11-12
  • 打赏
  • 举报
回复
引用 4 楼 shiyanbo_1006 的回复:
[quote=引用 3 楼 ipqtjmqj 的回复:] [quote=引用 2 楼 shiyanbo_1006 的回复:] [quote=引用 1 楼 ipqtjmqj 的回复:] 问题1:不需要,socket是运输层的接口,如果在不同网段,那是网络层的事 问题2:多线程,访问公共数据则加锁
问题2清楚了,但是对于问题1,我代码连接调试的时候就报错10038,查了一下是连接MYSQL数据库失败,请问连接远程数据库需要如何配置,新手真的是不懂啊,谢谢[/quote] 远程连数据库,要公网ip,内网需要作端口映射[/quote] 你好我对网络通信只是了解到了一点点,能加下你的QQ吗,这个问题真的难倒我了 我目前做的事情是这样的,产品的客户端和服务器在一个机器上安装是没有任何问题的或是同一局域网IP例如192.168.1.101之类的 现在我要做的是看这个程序的客户端是否可以了解远程的服务器,因为客户端在运行的时候有配置文件可以填写服务器的IP地址但是代码调试始终是返回10038连接数据库失败mysql_real_connect( &m_hFileDb, struConfig.aServerAddr, struConfig.aUser, struConfig.aPassword, struConfig.aDBName, struConfig.iDBPort ,NULL, 0 )) 我看了IP地址和用户名密码都是没有问题的,如果IP是192.168.1.1之类的同一局域的就没问题,如果服务器在10.121.12.12上,服务器上需要怎么配置权限啊?[/quote] IP地址分为公有与私有,你可以网上自己搜索了解一下。 服务器必须有公网的ip,10开头是私有ip, 如果没有公网ip,那么与服务器相连路由器要有公网ip,然后在服务器上设置一下端口映射。 一般服务器都可以用网上虚拟主机,云主机等等。
待续_1006 2016-11-12
  • 打赏
  • 举报
回复
引用 3 楼 ipqtjmqj 的回复:
[quote=引用 2 楼 shiyanbo_1006 的回复:] [quote=引用 1 楼 ipqtjmqj 的回复:] 问题1:不需要,socket是运输层的接口,如果在不同网段,那是网络层的事 问题2:多线程,访问公共数据则加锁
问题2清楚了,但是对于问题1,我代码连接调试的时候就报错10038,查了一下是连接MYSQL数据库失败,请问连接远程数据库需要如何配置,新手真的是不懂啊,谢谢[/quote] 远程连数据库,要公网ip,内网需要作端口映射[/quote] 你好我对网络通信只是了解到了一点点,能加下你的QQ吗,这个问题真的难倒我了 我目前做的事情是这样的,产品的客户端和服务器在一个机器上安装是没有任何问题的或是同一局域网IP例如192.168.1.101之类的 现在我要做的是看这个程序的客户端是否可以了解远程的服务器,因为客户端在运行的时候有配置文件可以填写服务器的IP地址但是代码调试始终是返回10038连接数据库失败mysql_real_connect( &m_hFileDb, struConfig.aServerAddr, struConfig.aUser, struConfig.aPassword, struConfig.aDBName, struConfig.iDBPort ,NULL, 0 )) 我看了IP地址和用户名密码都是没有问题的,如果IP是192.168.1.1之类的同一局域的就没问题,如果服务器在10.121.12.12上,服务器上需要怎么配置权限啊?
ipqtjmqj 2016-11-12
  • 打赏
  • 举报
回复
引用 2 楼 shiyanbo_1006 的回复:
[quote=引用 1 楼 ipqtjmqj 的回复:] 问题1:不需要,socket是运输层的接口,如果在不同网段,那是网络层的事 问题2:多线程,访问公共数据则加锁
问题2清楚了,但是对于问题1,我代码连接调试的时候就报错10038,查了一下是连接MYSQL数据库失败,请问连接远程数据库需要如何配置,新手真的是不懂啊,谢谢[/quote] 远程连数据库,要公网ip,内网需要作端口映射
待续_1006 2016-11-12
  • 打赏
  • 举报
回复
引用 1 楼 ipqtjmqj 的回复:
问题1:不需要,socket是运输层的接口,如果在不同网段,那是网络层的事 问题2:多线程,访问公共数据则加锁
问题2清楚了,但是对于问题1,我代码连接调试的时候就报错10038,查了一下是连接MYSQL数据库失败,请问连接远程数据库需要如何配置,新手真的是不懂啊,谢谢
ipqtjmqj 2016-11-12
  • 打赏
  • 举报
回复
问题1:不需要,socket是运输层的接口,如果在不同网段,那是网络层的事 问题2:多线程,访问公共数据则加锁

4,387

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧