C#局域网通讯与传输实例
C#的局域网通讯功能,说实话,用起来还挺顺的。你只要搞清楚 TcpClient 是干嘛的,再配合多线程,就能轻松实现局域网里的双向通信,甚至还能传文件。
最基础的玩法就是先用 new TcpClient()
搞个客户端, Connect()
连接服务端,用 GetStream()
拿到 网络流,就可以读写数据了。代码不长,逻辑也清晰,响应还挺快。
线程的使用也比较关键。你一边收数据,一边发数据,如果都扔主线程里,卡顿是迟早的事。用 Thread 单独拉一个接收线程,再开个发送线程,双开多线程,配合起来挺顺溜。
文件传输其实也没你想的那么复杂。拿到文件流,一块块读进缓冲区,再用 stream.Write()
推给远端就行。接收方反着来,读 stream.Read()
再写进文件就 OK 了。
啦,实际项目不只是通就完事,像断线重连、异常、流控这些,也得一块考虑进去。不然出问题你都不知道咋挂的。还有,能用 异步 I/O 就别用阻塞式,效率差挺多的。
,如果你正在搞桌面端、局域网传输或者内部工具,这套思路值得撸一遍。你要想深入点,也可以参考下面这些相关资源,挺有的。
262.78KB
文件大小:
评论区