c# Sockect 通信
生活随笔
收集整理的這篇文章主要介紹了
c# Sockect 通信
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.Server
using System; using System.Collections.Generic; using System.Text; //添加Socket類 using System.Net; using System.Net.Sockets;namespace ScoketServer {class Program{static void Main(string[] args){int port = 8080;string host = "17.1.1.78";//創(chuàng)建終結(jié)點IPAddress ip = IPAddress.Parse(host);IPEndPoint ipe = new IPEndPoint(ip, port);//創(chuàng)建Socket并開始監(jiān)聽 Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //創(chuàng)建一個Socket對象,如果用UDP協(xié)議,則要用SocketTyype.Dgram類型的套接字s.Bind(ipe); //綁定EndPoint對象(2000端口和ip地址)s.Listen(0); //開始監(jiān)聽Console.WriteLine("等待客戶端連接");//接受到Client連接,為此連接建立新的Socket,并接受消息Socket temp = s.Accept(); //為新建立的連接創(chuàng)建新的SocketConsole.WriteLine("建立連接");string recvStr = "";byte[] recvBytes = new byte[1024];int bytes;bytes = temp.Receive(recvBytes, recvBytes.Length, 0); //從客戶端接受消息recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);//給Client端返回信息Console.WriteLine("server get message:{0}", recvStr); //把客戶端傳來的信息顯示出來string sendStr = "ok!Client send message successful!";byte[] bs = Encoding.ASCII.GetBytes(sendStr);temp.Send(bs, bs.Length, 0); //返回信息給客戶端 temp.Close();s.Close();Console.ReadLine();}} }2.client
using System; using System.Collections.Generic; using System.Text; //添加Socket類 using System.Net; using System.Net.Sockets;namespace SocketClient {class Program{static void Main(string[] args){try{int port = 8080;string host = "17.1.1.78";//創(chuàng)建中街店EndPointIPAddress ip = IPAddress.Parse(host);IPEndPoint ipe = new IPEndPoint(ip, port); //把ip和端口轉(zhuǎn)化為IPEndPoint的實例//創(chuàng)建Socket并連接到服務(wù)器Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //創(chuàng)建SocketConsole.WriteLine("Connecting...");c.Connect(ipe); //連接到服務(wù)器//向服務(wù)器發(fā)送信息string endStr = "Hello,this is a socket test";byte[] bs = Encoding.ASCII.GetBytes(endStr); //把字符串編碼為字節(jié)Console.WriteLine("Send message");c.Send(bs, bs.Length, 0); //發(fā)送信息//接受從服務(wù)器返回的信息string recvStr = "";byte[] recvBytes = new byte[1024];int bytes;bytes = c.Receive(recvBytes, recvBytes.Length, 0); //從服務(wù)器端接收返回信息recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);Console.WriteLine("client get message:{0}", recvStr); //回顯服務(wù)器的返回信息 Console.Read();//一定要記著用完Socket后要關(guān)閉 c.Close();}catch (ArgumentException e){Console.WriteLine("argumentNullException:{0}", e);}catch (SocketException e){Console.WriteLine("SocketException:{0}",e);}}} }?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的c# Sockect 通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录kylin成功启动,访问页面404问
- 下一篇: [].slice.call