亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C# Socket編程

2019-11-18 17:21:58
字體:
來源:轉載
供稿:網友

//Socket基本編程

//服務端:

using System.Net;

using System.Net.Sockets;

using System.Text;

using System.Threading;

 


Thread mythread ;

Socket socket;


// 清理所有正在使用的資源。

PRotected override void Dispose( bool disposing )

{

try

  {   

   socket.Close();//釋放資源

   mythread.Abort ( ) ;//中止線程

  }

  catch{ }

 

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

public static ipAddress GetServerIP()

{

IPHostEntry ieh=Dns.GetHostByName(Dns.GetHostName());

return ieh.AddressList[0];

}

private void BeginListen()

{

IPAddress ServerIp=GetServerIP();

IPEndPoint iep=new IPEndPoint(ServerIp,8000);

socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

 

byte[] byteMessage=new byte[100];

this.label1.Text=iep.ToString();

socket.Bind(iep);

// do

while(true)

{

try

{

socket.Listen(5);

Socket newSocket=socket.Accept();

newSocket.Receive(byteMessage);

 

string sTime = DateTime.Now.ToShortTimeString ( ) ;

string msg=sTime+":"+"Message from:";

msg+=newSocket.RemoteEndPoint.ToString()+Encoding.Default.GetString(byteMessage);

this.listBox1.Items.Add(msg);

 

}

catch(SocketException ex)

{

this.label1.Text+=ex.ToString();

}

}

// while(byteMessage!=null);

}

//開始監聽

private void button1_Click(object sender, System.EventArgs e)

{

try

{

mythread = new Thread(new ThreadStart(BeginListen));

mythread.Start();

 

}

catch(System.Exception er)

{

MessageBox.Show(er.Message,"完成",MessageBoxButtons.OK,MessageBoxIcon.Stop);

}

}

 

 

//客戶端:

 

using System.Net;

using System.Net.Sockets;

using System.Text;

 

private void button1_Click(object sender, System.EventArgs e)

{

BeginSend();

}

private void BeginSend()

{

string ip=this.txtip.Text;

string port=this.txtport.Text;

 

IPAddress serverIp=IPAddress.Parse(ip);

int serverPort=Convert.ToInt32(port);

IPEndPoint iep=new IPEndPoint(serverIp,serverPort);

byte[] byteMessage;

// do

// {

Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

socket.Connect(iep);

 

byteMessage=Encoding.ASCII.GetBytes(textBox1.Text);

socket.Send(byteMessage);

socket.Shutdown(SocketShutdown.Both);

socket.Close();

// }

// while(byteMessage!=null);

}

 

基于TCP協議的發送和接收端

 

TCP協議的接收端

 

using System.Net.Sockets ; //使用到TcpListen類

using System.Threading ; //使用到線程

using System.IO ; //使用到StreamReader類

 

int port = 8000; //定義偵聽端口號

private Thread thThreadRead; //創建線程,用以偵聽端口號,接收信息

private TcpListener tlTcpListen; //偵聽端口號

private bool blistener = true; //設定標示位,判斷偵聽狀態

private NetworkStream nsStream; //創建接收的基本數據流

private StreamReader srRead;

private System.Windows.Forms.StatusBar statusBar1;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.ListBox listBox1; //從網絡基礎數據流中讀取數據

private TcpClient tcClient ;

 

private void Listen ( )

{

try

{

tlTcpListen = new TcpListener ( port ) ; //以8000端口號來初始化TcpListener實例

tlTcpListen.Start ( ) ; //開始監聽

statusBar1.Text = "正在監聽" ;

tcClient = tlTcpListen.AcceptTcpClient ( ) ; //通過TCP連接請求

nsStream = tcClient.GetStream ( ) ; //獲取用以發送、接收數據的網絡基礎數據流

srRead=new StreamReader(nsStream);//以得到的網絡基礎數據流來初始化StreamReader實例

statusBar1.Text = "已經連接!";

 

while( blistener ) //循環偵聽

{

string sMessage = srRead.ReadLine();//從網絡基礎數據流中讀取一行數據

if ( sMessage == "STOP" ) //判斷是否為斷開TCP連接控制碼

{

tlTcpListen.Stop(); //關閉偵聽

nsStream.Close(); //釋放資源

srRead.Close();

statusBar1.Text = "連接已經關閉!" ;

thThreadRead.Abort(); //中止線程

return;

}

 

string sTime = DateTime.Now.ToShortTimeString ( ) ; //獲取接收數據時的時間

listBox1.Items.Add ( sTime + " " + sMessage ) ;

}

}

catch ( System.Security.SecurityException )

{

MessageBox.Show ( "偵聽失敗!" , "錯誤" ) ;

}

}

//開始監聽

private void button1_Click(object sender, System.EventArgs e)

{

thThreadRead = new Thread ( new ThreadStart ( Listen ) );

thThreadRead.Start();//啟動線程

button1.Enabled=false;

}

// 清理所有正在使用的資源。

protected override void Dispose( bool disposing )

{

try

{

tlTcpListen.Stop(); //關閉偵聽

nsStream.Close();

srRead.Close();//釋放資源

thThreadRead.Abort();//中止線程

}

catch{}

 

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

 

TCP協議的發送端

 

using System.Net.Sockets; //使用到TcpListen類

using System.Threading; //使用到線程

using System.IO; //使用到StreamWriter類

using System.Net; //使用IPAddress類、IPHostEntry類等

 

private StreamWriter swWriter; //用以向網絡基礎數據流傳送數據 

private NetworkStream nsStream; //創建發送數據的網絡基礎數據流 

private TcpClient tcpClient;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.Button button2;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.StatusBar statusBar1;

private System.Windows.Forms.Label label1;

private System.Windows.Forms.Label label2; //通過它實現向遠程主機提出TCP連接申請 

private bool tcpConnect = false; //定義標識符,用以表示TCP連接是否建立

 

//連接 

private void button1_Click(object sender, System.EventArgs e)

{

IPAddress ipRemote ;

try

{

ipRemote = IPAddress.Parse ( textBox1.Text ) ;

}

catch //判斷給定的IP地址的合法性

{

MessageBox.Show ( "輸入的IP地址不合法!" , "錯誤提示!" ) ;

return ;

}

 

IPHostEntry ipHost ;

try

{

ipHost = Dns.Resolve ( textBox1.Text ) ; 

}

catch //判斷IP地址對應主機是否在線

{

MessageBox.Show ("遠程主機不在線!" , "錯誤提示!" ) ;

return ;

}

 

string sHostName = ipHost.HostName ;

try

{

TcpClient tcpClient = new TcpClient(sHostName,8000);//對遠程主機的8000端口提出TCP連接申請

nsStream = tcpClient.GetStream();//通過申請,并獲取傳送數據的網絡基礎數據流  

swWriter = new StreamWriter(nsStream);//使用獲取的網絡基礎數據流來初始化StreamWriter實例

button1.Enabled = false ;

button2.Enabled = true ;

tcpConnect = true ;

statusBar1.Text = "已經連接!" ;

}

catch

{

MessageBox.Show ( "無法和遠程主機8000端口建立連接!" , "錯誤提示!" ) ;

return ;

}

}

 

//發送

private void button2_Click(object sender, System.EventArgs e)

{

if (textBox2.Text !="")

{

swWriter.WriteLine(textBox2.Text);//刷新當前數據流中的數據

swWriter.Flush();

}

else

{

MessageBox.Show("發送信息不能為空!","錯誤提示!");

}

}

// 清理所有正在使用的資源。

protected override void Dispose( bool disposing )

{

if ( tcpConnect )

{

swWriter.WriteLine ( "STOP" ) ; //發送控制碼  

swWriter.Flush (); //刷新當前數據流中的數據  

nsStream.Close (); //清除資源

swWriter.Close ();

}

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲理论片在线观看| 黄色成人在线播放| 91av视频在线播放| www国产亚洲精品久久网站| 欧美亚洲第一区| 中文字幕在线看视频国产欧美| 国产z一区二区三区| 成人在线视频网| 亚洲精品视频在线播放| 亚洲午夜久久久久久久| 8x拔播拔播x8国产精品| 久久久精品久久久久| 久久国产精品99国产精| 亚洲国产精品va在线看黑人动漫| 日韩欧美视频一区二区三区| 国产精品人成电影在线观看| 亚洲第一免费播放区| 欧美激情精品在线| 国产精品老牛影院在线观看| 欧美亚洲视频一区二区| 性色av一区二区三区免费| 欧美日产国产成人免费图片| 热re99久久精品国产66热| 日韩毛片中文字幕| 成人情趣片在线观看免费| 欧美亚洲另类在线| 2020欧美日韩在线视频| 国色天香2019中文字幕在线观看| 亚洲精品98久久久久久中文字幕| 国外成人性视频| 欧美亚州一区二区三区| 亚洲精品按摩视频| 欧美怡红院视频一区二区三区| 一二美女精品欧洲| 国产精品免费看久久久香蕉| 高清亚洲成在人网站天堂| www国产精品com| 色偷偷888欧美精品久久久| 欧美老少做受xxxx高潮| 黑人巨大精品欧美一区免费视频| 欧美视频专区一二在线观看| 国产精品入口福利| 成人有码视频在线播放| 国产精品永久免费观看| 成人免费黄色网| 亚洲的天堂在线中文字幕| 精品女同一区二区三区在线播放| 国产精品一区二区三区免费视频| 欧美日韩精品在线播放| 亚洲精品电影在线| 日韩免费观看av| 欧美在线一区二区视频| 最近2019中文字幕第三页视频| 欧美在线激情网| 欧美激情videos| 午夜精品视频在线| 中文字幕日韩有码| 欧美性极品xxxx做受| www.99久久热国产日韩欧美.com| 国产在线观看精品| 国产精品丝袜久久久久久不卡| 欧美大片在线影院| 久久夜精品va视频免费观看| 亚洲美女视频网站| 4438全国成人免费| 国产精自产拍久久久久久| 亚洲精品日韩丝袜精品| 国产欧美亚洲视频| 国产精品中文字幕在线| 国产偷国产偷亚洲清高网站| 亚洲欧美精品suv| 欧美精品在线免费播放| 国产精品男人爽免费视频1| 久久国产一区二区三区| 久久精品视频导航| 亚洲色图色老头| 国产午夜精品免费一区二区三区| 亚洲成在人线av| 久久97精品久久久久久久不卡| 国产免费一区二区三区在线观看| 亚洲97在线观看| 成人午夜黄色影院| 欧美巨大黑人极品精男| 亚洲a中文字幕| 国产精品啪视频| 国产精品福利网站| 国产精品自产拍高潮在线观看| 日韩久久精品电影| 欧美成人剧情片在线观看| 欧美日韩国产麻豆| 日本精品久久中文字幕佐佐木| 中文字幕久久亚洲| 欧美午夜精品久久久久久久| 亚洲国产91色在线| 欧美日在线观看| 成人精品aaaa网站| 精品欧美一区二区三区| 欧美高清性猛交| 2018国产精品视频| 国产一区二区动漫| 伊人av综合网| 2020久久国产精品| 日韩av在线高清| 亚洲风情亚aⅴ在线发布| 岛国av一区二区在线在线观看| 成人欧美在线观看| 日韩最新中文字幕电影免费看| 日韩精品视频中文在线观看| 国产精品福利小视频| 91色视频在线观看| 日韩欧美a级成人黄色| 亚洲一区二区在线播放| 欧美在线视频观看免费网站| 国产精品高潮呻吟视频| 欧美成人激情图片网| 51久久精品夜色国产麻豆| 亚洲成人av在线| 91久久国产婷婷一区二区| 日本一区二区三区在线播放| 中文字幕国产亚洲| 日韩高清a**址| 欧美性猛交99久久久久99按摩| 日韩免费在线观看视频| 亚洲日韩欧美视频一区| 亚洲欧美在线磁力| 狠狠操狠狠色综合网| 欧美天堂在线观看| 国产aⅴ夜夜欢一区二区三区| 欧美综合国产精品久久丁香| 欧美大片免费看| 国产mv免费观看入口亚洲| 精品自在线视频| 亚洲精品视频播放| 国产精品96久久久久久| 久久香蕉国产线看观看av| 国产精品第2页| 欧美激情啊啊啊| 国产主播在线一区| 国产精品一久久香蕉国产线看观看| 欧美高清视频在线| 国产精品美女无圣光视频| 日韩理论片久久| 欧美国产一区二区三区| 国产精品一区二区久久国产| 在线播放日韩精品| 国产精品国内视频| 国产一区二区三区直播精品电影| 欧美激情亚洲视频| 亚洲国产欧美一区二区三区久久| 亚洲片在线资源| 亚洲欧美日韩天堂一区二区| 欧美性猛交xxxx乱大交蜜桃| 青青草原一区二区| 91嫩草在线视频| 欧美日韩在线视频一区二区| 亚洲一区二区三区四区视频| 国产精品伦子伦免费视频| 欧美性猛交xxxx免费看漫画| 成人女保姆的销魂服务| 国产精品久久久久久久久久东京| 国产亚洲精品久久| 午夜精品久久久久久久久久久久| 日本欧美黄网站| 欧美贵妇videos办公室|