分类: C/C++
2007-05-22 16:53:28
public Socket(AddressFamily addressFamily,SocketType socketType,ProtocolType protocolType); |
Socket temp = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); |
Socket temp = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); |
IPAddress myIP = IPAddress.Parse("192.168.0.1"); |
IPHostEntry ipHostInfo = Dns.Resolve("host.mydomain.com "); IPAddress ipAddress = ipHostInfo.AddressList[0]; |
IPHosntEntry hostInfo=Dns.GetHostByName("host.mydomain.com ") |
IPEndPoint ipe = new IPEndPoint(ipAddress,11000); |
try { temp.Connect(ipe);//尝试连接 } //处理参数为空引用异常 catch(ArgumentNullException ae) { Console.WriteLine("ArgumentNullException : {0}", ae.ToString()); } //处理操作系统异常 catch(SocketException se) { Console.WriteLine("SocketException : {0}", se.ToString()); } |
//client端 using System; using System.Text; using System.IO; using System.net; using System.Net.Sockets; namespace socketsample { class Class1 { static void Main() { try { int port = 2000; string host = "127.0.0.1"; IPAddress ip = IPAddress.Parse(host); IPEndPoint ipe = new IPEndPoint(ip, port); Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); c.Connect(ipe); string sendStr = "hello!This is a socket test"; byte[] bs = Encoding.ASCII.GetBytes(sendStr); c.Send(bs, bs.Length, 0); string recvStr = ""; byte[] recVBytes = new byte[1024]; int bytes; bytes = c.Receive(recvBytes, recvBytes.Length, 0); recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes); Console.WriteLine(recvStr); c.Close(); } catch (ArgumentNullException e) { Console.WriteLine("ArgumentNullException: {0}", e); } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } Console.ReadLine(); } } } //server端 using System; using System.Text; using System.IO; using System.Net; using System.Net.Sockets; namespace Project1 { class Class2 { static void Main() { try { int port = 2000; string host = "127.0.0.1"; IPAddress ip = IPAddress.Parse(host); IPEndPoint ipe = new IPEndPoint(ip, port); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); s.Bind(ipe); s.Listen(0); Socket temp = s.Accept(); string recvStr = ""; byte[] recvBytes = new byte[1024]; int bytes; bytes = temp.Receive(recvBytes, recvBytes.Length, 0); recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes); Console.WriteLine(recvStr); string sendStr = "Ok!Sucess!"; byte[] bs = Encoding.ASCII.GetBytes(sendStr); temp.Send(bs, bs.Length, 0); temp.Shutdown(SocketShutdown.Both); temp.Close(); s.Shutdown(SocketShutdown.Both); s.Close(); } catch (ArgumentNullException e) { Console.WriteLine("ArgumentNullException: {0}", e); } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } Console.ReadLine(); } } } |