同步网络传输和异步网络传输
来源:互联网 发布:大连淘宝代运营 编辑:程序博客网 时间:2024/05/01 06:15
同步:
using System;using System.Collections.Generic;using System.Net;using System.Net.Sockets;using System.Threading;using System.Text;using System.IO;namespace NewTcpServer{ class Program { static void Main(string[] args) { Server server = new Server(); server.StartUp(); } } public class Server { private TcpListener _server; private string _ip = "192.168.xx.xx"; private int _port = 10000; public void StartUp() { _server = new TcpListener(new IPEndPoint(IPAddress.Parse(_ip), _port)); _server.Start(); Thread acceptTcpClientThread = new Thread(AcceptTcpClient); acceptTcpClientThread.Start(); } public void AcceptTcpClient() { while (true) { TcpClient client = _server.AcceptTcpClient(); Thread receiveMsgThread = new Thread(ReceiveMsg); receiveMsgThread.Start(client); } } public void ReceiveMsg(object obj) { TcpClient client = obj as TcpClient; byte[] buffer = new byte[client.ReceiveBufferSize]; while(true) { NetworkStream stream = client.GetStream(); int len = stream.Read(buffer, 0, client.Available); Console.WriteLine(Encoding.UTF8.GetString(buffer, 0,len)); } } }}
using System;using System.Collections.Generic;using System.Net;using System.Net.Sockets;using System.Threading;using System.Text;using System.IO;namespace NewTcpClient{ class Program { static void Main(string[] args) { Client client = new Client(); client.StartUp(); while(true) { } } } public class Client { private string _ip = "192.168.XX.XX"; private int _port = 10000; private TcpClient _client; public void StartUp() { _client = new TcpClient(); _client.Connect(_ip, _port); NetworkStream stream = _client.GetStream(); string str = "客户端信息"; Byte[] msg = Encoding.UTF8.GetBytes(str); stream.Write(msg, 0, msg.Length); } }}
异步:
using System;using System.Collections.Generic;using System.Net;using System.Net.Sockets;using System.Threading;using System.Text;using System.IO;namespace NewTcpServer{ class Program { static void Main(string[] args) { Server server = new Server(); server.StartUp(); while(true) { } } } public class Server { private TcpListener _server; private string _ip = "192.168.xx.xx"; private int _port = 10000; private byte[] buffer = new byte[64 * 1024]; public void StartUp() { _server = new TcpListener(new IPEndPoint(IPAddress.Parse(_ip), _port)); _server.Start(); _server.BeginAcceptTcpClient(AcceptedTcpClient, _server); } public void AcceptedTcpClient(IAsyncResult ar) { TcpListener server = ar.AsyncState as TcpListener; TcpClient client = server.EndAcceptTcpClient(ar); NetworkStream networkStream = client.GetStream(); networkStream.BeginRead(buffer, 0, buffer.Length, ReceivedMsg, client); _server.BeginAcceptTcpClient(AcceptedTcpClient, _server); } public void ReceivedMsg(IAsyncResult ar) { TcpClient client = ar.AsyncState as TcpClient; NetworkStream networkStream = client.GetStream(); int len = networkStream.EndRead(ar); byte[] msg = new byte[len]; Array.Copy(buffer, 0, msg, 0, len); Console.WriteLine(Encoding.UTF8.GetString(msg)); networkStream.BeginRead(buffer, 0, buffer.Length, ReceivedMsg, client); } }}
using System;using System.Collections.Generic;using System.Net;using System.Net.Sockets;using System.Threading;using System.Text;using System.IO;namespace NewTcpClient{ class Program { static void Main(string[] args) { Client client = new Client(); client.StartUp(); while(true) { } } } public class Client { private string _ip = "192.168.xx.xx"; private int _port = 10000; private TcpClient _client; public void StartUp() { _client = new TcpClient(); _client.BeginConnect(_ip, _port, ConnectedServer, _client); } public void ConnectedServer(IAsyncResult ar) { TcpClient client = ar.AsyncState as TcpClient; client.EndConnect(ar); NetworkStream networkStream = client.GetStream(); string str = "客户端信息"; byte[] bytes = Encoding.UTF8.GetBytes(str); networkStream.BeginWrite(bytes, 0, bytes.Length,EndWrite, networkStream); } public void EndWrite(IAsyncResult ar) { NetworkStream networkStream = ar.AsyncState as NetworkStream; networkStream.EndWrite(ar); } }
}
阅读全文
0 0
- 同步网络传输和异步网络传输
- 网络传输之同步异步SOCKET通讯和多线程
- 同步传输和异步传输
- 异步传输和同步传输
- 网络编程中,同步传输和异步传输有什么区别
- C# 网络异步传输
- 同步传输、异步传输
- 同步传输/异步传输
- 同步传输/异步传输
- 同步传输 异步传输
- 同步传输、异步传输
- Ajax同步传输和异步传输
- 同步传输和异步传输的区别
- 计算机网络 同步传输和异步传输
- 讨论同步和异步传输
- Ajax同步和异步传输
- CUDA异步和同步传输
- 异步传输与同步传输
- 二进制安装mariadb
- 2017年10月18日普及组 面积最大
- 分治问题POJ1854_构造回文
- LINUX 如何开放端口和关闭端口
- 深度学习资料
- 同步网络传输和异步网络传输
- 实验3
- Docker镜像制作
- codevs 1904 最小路径覆盖问题
- python安装过程及问题图解
- 记:破解MFC小程序02
- 今天 的作业(判断成绩的等级)
- 题目88:汉诺塔(一)
- 字典树