效果:

服务器端:

后台代码

namespace _1900
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private IPAddress ip;private int port = 51888;private TcpListener mylistener;private void button1_Click(object sender, RoutedEventArgs e){//本机ip地址IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());foreach (IPAddress v in ips){if (v.AddressFamily == AddressFamily.InterNetwork){ip = v;break;}}mylistener = new TcpListener(ip,port);mylistener.Start();textBlock1.Text += ip.ToString()+":";Thread t1 = new Thread(Receivedata);t1.Start();}public void Receivedata(){while (true){TcpClient client = mylistener.AcceptTcpClient();Thread t2 = new Thread(TcpClientListener);t2.Start(client);NetworkStream network = client.GetStream();BinaryReader br = new BinaryReader(network);BinaryWriter bw = new BinaryWriter(network);bw.Write("来自服务器的消息:连接成功\n");}}public void TcpClientListener(object obj){TcpClient NewClient = obj as TcpClient;NetworkStream network = NewClient.GetStream();BinaryReader br = new BinaryReader(network);BinaryWriter bw = new BinaryWriter(network);while (true){string message = br.ReadString();Action act = delegate(){textBlock1.Text += message+"\n";};textBlock1.Dispatcher.Invoke(act);}}private void button2_Click(object sender, RoutedEventArgs e){mylistener.Stop();textBlock1.Text += "监听停止\n";}}
}

客户端:

后台代码

namespace _1901
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private IPAddress ip;private int port=51888;private BinaryWriter bw;private void button1_Click(object sender, RoutedEventArgs e){ip = IPAddress.Parse("192.168.96.1");TcpClient client = new TcpClient();client.Connect(ip, port);textBlock1.Text += "连接成功!";NetworkStream network=client.GetStream();BinaryReader br = new BinaryReader(network);bw = new BinaryWriter(network);string message = br.ReadString();textBlock1.Text += message+"\n";}private void button2_Click(object sender, RoutedEventArgs e){bw.Write(textBox2.Text);textBlock1.Text += textBox2.Text;textBox2.Text = "";  }}
}

网络编程----TCP通信相关推荐

  1. qt tcp通信_Qt之网络编程TCP通信

    点击上方"Qt学视觉",选择"星标"公众号重磅干货,第一时间送达 想要学习的同学们还请认真阅读每篇文章,相信你一定会有所收获 TCP通信概述 TCP(Trans ...

  2. Java网络编程 - TCP通信

    文章目录 TCP通信 快速入门(一发一收) 编写客户端代码 编写服务器代码 多发多收 多发多收(同时接受多个客户端) 线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连 ...

  3. Java网络编程---TCP通信

    TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信 Java对基于TCP协议的 ...

  4. 网络编程——TCP通信

    代码 TCP服务端 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #includ ...

  5. Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)

    Qt实现Winsock网络编程-TCP服务端和客户端通信(多线程) 前言 感觉Winsock网络编程的api其实和Linux下网络编程的api非常像,其实和其他编程语言的网络编程都差不太多.博主用Qt ...

  6. qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例

    先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...

  7. java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计

    [JAVA 网络编程 TCP/IP.Socket 和协议设计] TCP/IP 协议简介 IP 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成 ...

  8. WinSock API网络编程——TCP/IP协议详解

     WinSock API网络编程--TCP/IP协议(http://www.impcas.ac.cn/usr/lujun/browse.asp?id=winsock_tcp)            ...

  9. 网络编程-TCP/IP协议栈-TCP协议

    TCP协议 TCP协议作用 TCP协议位于协议栈的传输层.当应用层向TCP层发送用于网间传输的,用8字节表示的数据流,TCP则吧数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受到改计算机连 ...

  10. 网络编程-TCP/IP协议栈-IP协议

    协议 协议就是约定的一种规则,例如扑克游戏中约定好的各种规则,2<3<4<5<-等,以此作为游戏规则.当所有人都遵循这个规则,那么久可以不需要任何多余的交流就可以进行游戏,这个 ...

最新文章

  1. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题
  2. 精彩---rtl8139网卡驱动程序分析
  3. build/envsetup.sh脚本分析
  4. 1.22 实例:正则表达式验证电话号码
  5. Java 线程池(ThreadPoolExecutor)原理分析与使用
  6. php swoole 项目实战,Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信)...
  7. java 关闭串口_java – 打开和关闭串行端口
  8. CSS 类选择器详解——CSS 多类选择器
  9. 数据预处理第4讲:缺失值填补
  10. 【软考高级:信息系统项目管理师】【信息项目十大管理】第二天:项目立项管理
  11. Snipaste 屏幕截图软件超级利器
  12. 卡尔曼滤波系列——(二)扩展卡尔曼滤波
  13. linux 文件系统架构
  14. Foxmail添加163邮箱账号的方法
  15. 读书:依然在地铁上 | 自嗨有度
  16. Linux之线程条件变量cond
  17. java的正向代理和反向代理
  18. Qt开发技术:Qt富文本(一)富文本介绍、文档结构
  19. Android学习笔记-传感器开发之利用传感器和Tween开发简易指南针
  20. Source Insight 4.0 序列号 license文件

热门文章

  1. Script error.全面解析
  2. XML文件源码察看器(三)
  3. C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面...
  4. postman 使用
  5. C#如何实现一个简单的流程图设计器
  6. #SORA#celery研究中的一个小问题
  7. 【Java】 环境变量如何配置?
  8. 北师大版图形的旋转二教案_北师大版三年级数学下册微课精讲+课件教案试卷(文末下载)...
  9. 网络数据包收发流程:从驱动到协议栈
  10. 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感