C# tcp test 服务器端
来源:互联网 发布:交通银行数据录入员 编辑:程序博客网 时间:2024/06/12 18:22
using System;using System.Diagnostics;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;using System.Windows;using System.Windows.Controls;using Microsoft.Win32;//servernamespace WpfApplication1{ /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { private TcpListener _tcpListener; private TcpClient _acceptTcpClient; public MainWindow() { InitializeComponent(); _tcpListener = new TcpListener(IPAddress.Any, 8888); _tcpListener.AllowNatTraversal(true); _tcpListener.Start(); Thread thread = new Thread(() => { InitTcpServer(_tcpListener); }); thread.Start(); } private void InitTcpServer(TcpListener tcpListener) { try { _acceptTcpClient = tcpListener.AcceptTcpClient(); while (true) { if (_acceptTcpClient.Connected) { var t = new Thread(() => { ReadNetworkSream(_acceptTcpClient); }); t.Start(); } } } catch (Exception) { System.Console.WriteLine("发生异常"); } finally { tcpListener.Stop(); } } private void ReadNetworkSream(TcpClient client) { var stopWatch = new Stopwatch(); stopWatch.Start(); if (stopWatch.ElapsedMilliseconds > 30000) { client.Close(); Console.WriteLine("连接超时"); return; } var stream = client.GetStream(); while (stream != null && stream.CanRead && stream.DataAvailable) { var bytes = new byte[client.ReceiveBufferSize]; int numbersByteRead = stream.Read(bytes, 0, bytes.Length); var str = Encoding.Default.GetString(bytes, 0, numbersByteRead); Dispatcher.Invoke(() => { var txtLable = this.FindName("ReceiveText") as TextBox; txtLable.Text += str; }); Console.WriteLine("bytes num {0}, text {1}", bytes.Length, str); } } private void _发送按钮(object sender, RoutedEventArgs e) { var inputBox = this.FindName("InputBox") as TextBox; Byte[] bytes = System.Text.Encoding.Default.GetBytes(inputBox.Text); _acceptTcpClient.GetStream().Write(bytes, 0, bytes.Length); } private void _选择文件上传按钮(object sender, RoutedEventArgs e) { var fileDlg = new OpenFileDialog(); fileDlg.ShowDialog(); } }}
0 0
- C# tcp test 服务器端
- C# tcp test 客户端
- TCP服务器端
- C#版异步TCP聊天服务器端简单代码示例
- tcp test
- tcp(Test)
- 异步TCP连接服务器端
- Socket TCP 服务器端
- [python] TCP客户端/服务器端
- Tcp上传文件 服务器端
- Android Tcp服务器端
- TCP服务器端 ServerSocket
- socket-tcp协议-服务器端
- tcp 通信 服务器端
- TCP 客户端和服务器端
- c# test
- test C#
- 基于C#的socket编程的TCP异步实现 ,包含服务器端与客户端源代码
- 网络编程入门服务器端程序
- os和sys
- Hello,C!
- 请不要重复犯我在学习Python和Linux系统上的错误
- EL表达式
- C# tcp test 服务器端
- 写博文交作业的意义
- Linux系统操作三之软件安装方法
- html5 canvas学习--设置图形的透明度
- 如何搭建网站
- Codeforces Round #359 (Div. 1) D. Kay and Eternity ★ ★ ★ ★
- 五、OSM2VectorTiles项目介绍
- 《java编程思想》第十八章 java I/O系统
- Windows PE 第四章 导入表