資源簡介
史上最完整的的基于Winform下的Socket異步通信實例源代碼,絕對物超所值,你值得擁有!

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.Net;
using?System.Net.Sockets;
using?System.Threading;
namespace?Socket_Client_asynchronous
{
????public?partial?class?Form1?:?Form
????{
????????public?TcpClient?tcpc;?//對服務器端建立TCP連接?
????????public?Socket?tcpsend;?//發送創建套接字?
????????public?bool?connect_flag?=?false;?
????????public?byte[]?receive_buff?=?new?byte[4096];?
????????public?ManualResetEvent?connectDone?=?new?ManualResetEvent(false);?//連接的信號?
????????public?ManualResetEvent?readDone?=?new?ManualResetEvent(false);?//讀信號?
????????public?ManualResetEvent?sendDone?=?new?ManualResetEvent(false);?//發送結束
????????public?bool?connect(string?address)
????????{?
????????????try?
????????????{
????????????????tcpsend?=?new?Socket(AddressFamily.InterNetwork?SocketType.Stream?ProtocolType.Tcp);//初始化套接字
????????????????IPEndPoint?remotepoint?=?new?IPEndPoint(IPAddress.Parse(address)?Convert.ToInt32(textBox3.Text));//根據ip地址和端口號創建遠程終結點
????????????????EndPoint?end?=?(EndPoint)remotepoint;?
????????????????tcpsend.BeginConnect(end?new?AsyncCallback(ConnectedCallback)?tcpsend);?//調用回調函數
????????????????connectDone.WaitOne();?
????????????????return?true;
????????????}?
????????????catch?
????????????{?
????????????????return?false;
????????????}
????????}
????????private?void?ConnectedCallback(IAsyncResult?ar)
????????{
????????????Socket?client?=?(Socket)ar.AsyncState;
????????????client.EndConnect(ar);
????????????connect_flag?=?true;
????????????connectDone.Set();
????????}
????????public?void?send(string?data)
????????{
????????????int?length?=?data.Length;
????????????Byte[]?Bysend?=?new?byte[length];
????????????Bysend?=?System.Text.Encoding.GetEncoding(“GB2312“).GetBytes(data);?//將字符串指定到指定Byte數組
????????????tcpsend.BeginSend(Bysend?0?Bysend.Length?0?new?AsyncCallback(SendCallback)?tcpsend);?//異步發送數據
????????????sendDone.WaitOne();
????????}
????????private?void?SendCallback(IAsyncResult?ar)?//發送的回調函數
????????{
????????????Socket?client?=?(Socket)ar.AsyncState;
????????????int?bytesSend?=?client.EndSend(ar);?//完成發送
????????????sendDone.Set();
????????}
????????public?void?receive()?//接收數據
????????{
????????????//byte[]?receive=new?byte[1024];
????????????tcpsend.BeginReceive(receive_buff?0?receive_buff.Length?0?new?AsyncCallback(ReceiveCallback)?tcpsend);
????????????//sendDone.WaitOne();
????????}
????????
????????private?void?ReceiveCallback(IAsyncResult?ar)
????????{
????????????Socket?client?=?(Socket)ar.AsyncState;?//獲取句柄
????????????int?bytesread?=?client.EndReceive(ar);
????????????if?(bytesread?>?0)
????????????{
????????????????tcpsend.BeginReceive(receive_buff?0?receive_buff.Length?0?new?AsyncCallback(ReceiveCallback)?client);
????????????}
????????????else
????????????{
????????????????readDone.Se
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\
?????文件????????6411??2013-03-22?21:49??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Form1.Designer.cs
?????文件????????5302??2013-03-23?19:21??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Form1.cs
?????文件????????5817??2013-03-22?21:49??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Form1.resx
?????文件?????????507??2013-03-01?16:15??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Program.cs
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Properties\
?????文件????????1384??2013-03-01?16:15??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Properties\AssemblyInfo.cs
?????文件????????2902??2013-03-01?16:15??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Properties\Resources.Designer.cs
?????文件????????5612??2013-03-01?16:15??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Properties\Resources.resx
?????文件????????1111??2013-03-01?16:15??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Properties\Settings.Designer.cs
?????文件?????????249??2013-03-01?16:15??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Properties\Settings.settings
?????文件????????3711??2013-03-01?16:43??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous.csproj
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\bin\
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\bin\Debug\
?????文件???????11776??2013-03-23?19:21??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\bin\Debug\Socket_Client_asynchronous.exe
?????文件???????38400??2013-03-23?19:21??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\bin\Debug\Socket_Client_asynchronous.pdb
?????文件???????11600??2013-03-23?19:28??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\bin\Debug\Socket_Client_asynchronous.vshost.exe
?????文件?????????490??2009-08-31?00:40??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\bin\Debug\Socket_Client_asynchronous.vshost.exe.manifest
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\
?????目錄???????????0??2013-03-01?23:57??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\
?????目錄???????????0??2013-03-23?19:21??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\
?????文件????????4440??2013-03-01?19:46??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????6356??2013-03-23?19:21??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????1296??2013-03-22?21:49??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\GenerateResource.read.1.tlog
?????文件????????3118??2013-03-22?21:49??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\GenerateResource.write.1.tlog
?????文件????????7897??2013-03-01?19:56??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\ResolveAssemblyReference.cache
?????文件?????????180??2013-03-22?21:49??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\Socket_Client_asynchronous.Form1.resources
?????文件?????????180??2013-03-12?17:24??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\Socket_Client_asynchronous.Properties.Resources.resources
?????文件????????3720??2013-03-23?19:28??Socket_asynchronous\Socket_Client_asynchronous\Socket_Client_asynchronous\obj\x86\Debug\Socket_Client_asynchronous.csproj.FileListAbsolute.txt
............此處省略40個文件信息
評論
共有 條評論