网络编程----TCP通信
效果:
服务器端:
后台代码
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通信相关推荐
- qt tcp通信_Qt之网络编程TCP通信
点击上方"Qt学视觉",选择"星标"公众号重磅干货,第一时间送达 想要学习的同学们还请认真阅读每篇文章,相信你一定会有所收获 TCP通信概述 TCP(Trans ...
- Java网络编程 - TCP通信
文章目录 TCP通信 快速入门(一发一收) 编写客户端代码 编写服务器代码 多发多收 多发多收(同时接受多个客户端) 线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连 ...
- Java网络编程---TCP通信
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信 Java对基于TCP协议的 ...
- 网络编程——TCP通信
代码 TCP服务端 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #includ ...
- Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)
Qt实现Winsock网络编程-TCP服务端和客户端通信(多线程) 前言 感觉Winsock网络编程的api其实和Linux下网络编程的api非常像,其实和其他编程语言的网络编程都差不太多.博主用Qt ...
- qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例
先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...
- java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计
[JAVA 网络编程 TCP/IP.Socket 和协议设计] TCP/IP 协议简介 IP 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成 ...
- WinSock API网络编程——TCP/IP协议详解
WinSock API网络编程--TCP/IP协议(http://www.impcas.ac.cn/usr/lujun/browse.asp?id=winsock_tcp) ...
- 网络编程-TCP/IP协议栈-TCP协议
TCP协议 TCP协议作用 TCP协议位于协议栈的传输层.当应用层向TCP层发送用于网间传输的,用8字节表示的数据流,TCP则吧数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受到改计算机连 ...
- 网络编程-TCP/IP协议栈-IP协议
协议 协议就是约定的一种规则,例如扑克游戏中约定好的各种规则,2<3<4<5<-等,以此作为游戏规则.当所有人都遵循这个规则,那么久可以不需要任何多余的交流就可以进行游戏,这个 ...
最新文章
- c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题
- 精彩---rtl8139网卡驱动程序分析
- build/envsetup.sh脚本分析
- 1.22 实例:正则表达式验证电话号码
- Java 线程池(ThreadPoolExecutor)原理分析与使用
- php swoole 项目实战,Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信)...
- java 关闭串口_java – 打开和关闭串行端口
- CSS 类选择器详解——CSS 多类选择器
- 数据预处理第4讲:缺失值填补
- 【软考高级:信息系统项目管理师】【信息项目十大管理】第二天:项目立项管理
- Snipaste 屏幕截图软件超级利器
- 卡尔曼滤波系列——(二)扩展卡尔曼滤波
- linux 文件系统架构
- Foxmail添加163邮箱账号的方法
- 读书:依然在地铁上 | 自嗨有度
- Linux之线程条件变量cond
- java的正向代理和反向代理
- Qt开发技术:Qt富文本(一)富文本介绍、文档结构
- Android学习笔记-传感器开发之利用传感器和Tween开发简易指南针
- Source Insight 4.0 序列号 license文件
热门文章
- Script error.全面解析
- XML文件源码察看器(三)
- C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面...
- postman 使用
- C#如何实现一个简单的流程图设计器
- #SORA#celery研究中的一个小问题
- 【Java】 环境变量如何配置?
- 北师大版图形的旋转二教案_北师大版三年级数学下册微课精讲+课件教案试卷(文末下载)...
- 网络数据包收发流程:从驱动到协议栈
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感