socket通信两台电脑之间(c#利用socket实现两台计算机通信)

本文目录
- c#利用socket实现两台计算机通信
- 怎么用socket使不同局域网的两台具有相同IP的主机通信
- 两台计算机实现TCP(通过socket编程)通信时,要用到线么总感觉仅仅通过代码就能建立连接不太靠谱
- C#两台电脑如何通过外网通信
- C#.NET通过Socket实现平行主机之间网络通讯
- 两台电脑通过socket连接
c#利用socket实现两台计算机通信
1.创建socket 2.确定本地计算机端点(ip和端口号) 3.socket绑定端点 4.socket.receive(); 接收数据 5.socket.send();发送数据 6.socket.close();关闭socket
怎么用socket使不同局域网的两台具有相同IP的主机通信
既然是跨局域网,要能连接到对方的话,必须使用公网,比如:北京的这台机器对应的路由器上设置一个端口转发,让来自外网的某个端口转到内网的192.168.1.2的主机上,让这台机器做服务器,然后让广州的那台机器做客户端,去连接北京那个路由器的IP+端口号即可,反之亦然。
两台计算机实现TCP(通过socket编程)通信时,要用到线么总感觉仅仅通过代码就能建立连接不太靠谱
TCP连接的基础就是网络连接已经建立好之后,所以物理连接肯定是基础,至于物理连接有很多种,可以是有线的、也可以是无线的,只要协议支持TCP/IP就可以。
C#两台电脑如何通过外网通信
1.两台电脑同一局域网内或者都在公网可以直接socket通讯
2.如果一台有公网ip 一台在内网 ,内网可以向外网主动发起会话,外网不能主动发起会话,(tcp涉及到心跳包,udp需要知道内网路由器类型,做相应处理,也需要心跳包)
3.如果两台在不同的局域网内,无法直接通信,需要服务器中转,或者做udp路由器打洞处理可直接通信,这两种都需要用到服务器
C#.NET通过Socket实现平行主机之间网络通讯
在程序设计中 涉及数据存储和数据交换的时候 不管是B/S还是C/S模式 都有这样一个概念 这要求一台性能和配置都比较好的主机作为服务器 以满足数目众多的客户端进行频繁访问 但是对于一些数据交换的要求不主同 而且涉及到的通讯个体数目不多 如果还采用 一主机多客户机 的模式 便要求一台配置良好而且上安装了相关数据服务软件 这样会造成硬件和软件上的很多不必要的成本 这时Socket在点对点的平行对象之间的通讯的优势就就发挥出来了
其实对于Socket通讯来说 服务器和客户端的界定不像数据库服务器与客户端那样明显 甚至可以说Socket通讯里面的服务器和客户端只是相对的 因为网络通讯的对象基本上是处于平等层面的 只是为了方便对两台联网通讯的主机的描述才这样定义称谓的
由于在中Socket通讯的建立很容易 所以本文主要介绍一个Socket的比较典型的应用的流程 客户端向服务器发送图片请求 图片服务器接收到请求 并将服务器上的图片编码 发送到客户端 客户端得到图片数据后 再将这些数据写成图片文件 保存在客户端上
本文主要是对Socket的一个应用进行介绍 所以至于其原理在此没有深究 至于如何建立Socket还有如何实现网络的七层协议在此都没有进行相关研究和介绍 本文主要介绍如何实现一个用户想要的功能 即在两台主机之间进行通讯 通过网络来收发用户想要收发的数据
一 通讯流程图
三 测试socket的连接方法 telnet远程登录
用户可以同时对客户端和端的Socket程序进行编写 然后进行联调 也可以一次只编写一个 然后通过下面的方法来测试Socket连接
一般通过远程登录来测试连接是否成功 比如测试本机的 端口是否能连接成功
运行-》cmd-》telnet
在没有运行对本机的 端口进行不断侦听的程序时 会出现连接失败的提示
如果连接成功 则会弹出另外一个窗口
如果在侦听线程里面设置断点 通常连接成功后 就会在
Socket sRecmdTemp = sRecvCmd Accept();
之后的语句上断点
附近演示程序的说明
使用VS 创建
主要实现的功能是 主机A向主机B发图片请求 主机B将D盘image目录下的image jpg image jpg文件编码发送到主机B 主机B再解码并写成图片文件到E盘的image目录下
为了方便调试 演示程序将服务器和客户端同时放在本机上 即localhost或者 即本程序最终实现的效果就是将本机的D 盘image目录下的两个指定名称的图片传送到E盘image目录下 所以在运行本程序前 先在D:/image目录下放置两张命名为 image jpg image jpg的图片文件
lishixinzhi/Article/program/net/201311/11802两台电脑通过socket连接
就普通的socket连接传输就可以了哈,你可以用tcp也可以用udp,看你擅长哪个,将SQL表单读进buffer缓冲区,然后send 客户端那边接收进buffer,然后写进SQL文件,保存后就OK啦

更多文章:
特殊字符ascii码范围(字符A到Z的ASCII代码是多少)
2025年9月22日 12:30
c语言加了const(c语言中const修饰的到底是常量还是变量)
2025年11月12日 23:15
js设置iframe滚动条(jquery.nicescroll.min.js滚动条使用方法)
2025年6月26日 17:30
全国疫情最新消息今天新增(12月5日江岸区疫情情况(江岸区疫情今天最新消息))
2025年12月6日 09:45
customer和consumer(consumer是什么意思)
2025年7月27日 13:45
short型变量(C语言数据类型中int与short的区别)
2025年12月19日 20:15
c语言的优先级法则是什么(c语言中的运算符优先级顺序有什么规定)
2026年1月28日 20:45
display隐藏后怎么显示(html怎么用a标签显示隐藏的div)
2026年1月19日 17:00
ideajdk配置(createordererror怎么解决)
2026年4月27日 11:45
constructing buildings(tallest用英语怎么说)
2025年10月6日 12:00
pascal letoublon(pascalletoublon翻译成中文)
2025年7月12日 23:00
tbody设置滚动条(怎么给tbody设置垂直滚动条求大神帮助)
2025年6月17日 03:00










