beerchyan 2015-01-16 02:30 采纳率: 0%
浏览 2166

关于C# socket传输中的连接问题

由于我初次编写网络传输这一块的代码,中间一些传输上这几道连接的地方不太明白。
现在我遇到的情景是这样的:
1.我用TCP协议传输文件至服务器,
2.客户端第一次发送文件信息等待回应,
3.服务器接收到消息后返回状态,
4.本地收到状态后开始传文件并等待传输完成回应,
5.传输完成后服务器发送完成状态回来客户端接收到整个过程就完成了。
现有服务器一台,公网IP,可以直接从任何电脑访问的那种,
我现在在服务器上写好了监听,监听收到的消息并判断,然后发送状态返回。
按我的理解就是要发送到对方的IP和端口上去就可以了(当然对方也要开启监听)
但是我的客户端网络很有可能不是公网IP(基本都不是),这样又要经过NAT这一层了,
客户端发送的消息服务器是已经收得到了,但是现在服务器怎么让客户端收到状态回应呢?
我选择的是让服务器把消息发送给RemoteEndPoint,那么客户端应该监听那个IP呢?

  • 写回答

3条回答 默认 最新

  • 91program 博客专家认证 2015-01-16 02:36
    关注

    做了这么久的 Socket 通讯,通讯两方一般都是公网、或者两者都是局域网。
    你的客户端为什么不是公网 IP 呢?这样的通讯稳定性好吗?

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况