在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
客户端代码
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; namespace SocketClient { class Program { static void Main(string[] args) { //保存输入要发送的字符串 string input; //要连接的远程IP IPAddress remoteHost = IPAddress.Parse("172.16.86.90"); //IP地址跟端口的组合 IPEndPoint iep = new IPEndPoint(remoteHost, 8080); //把地址绑定到Socket Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //连接远程服务器 try { clientSocket.Connect(iep); Console.WriteLine("请输入您要发送的字符串"); //保存输入的字符串 input = Console.ReadLine(); //用字节数组保存要发送的字符串 byte[] message = System.Text.Encoding.Unicode.GetBytes(input); //新建一个NetworkStream对象发送数据 NetworkStream netstream = new NetworkStream(clientSocket); //向服务器端发送message内容 netstream.Write(message, 0, message.Length); clientSocket.Shutdown(SocketShutdown.Both); clientSocket.Close(); } catch (System.Exception ex) { Console.WriteLine("服务器端连接失败"); } } } }
服务器端代码
代码
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; namespace SocketServer { class Program { static void Main(string[] args) { //本机IP IPAddress ip = IPAddress.Parse("172.16.86.90"); //IP地址跟端口的组合 IPEndPoint iep = new IPEndPoint(ip, 8080); //创建Socket Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //绑定Socket socket.Bind(iep); //服务器已经做好接收任何连接的准备 socket.Listen(10); while (true) { //执行accept方法 Socket Client = socket.Accept(); byte[] message = new byte[1024]; NetworkStream networkStream = new NetworkStream(Client); int len = networkStream.Read(message, 0, message.Length); //byte数组转换成string string output = System.Text.Encoding.Unicode.GetString(message); Console.WriteLine("一共从客户端接收了" + len.ToString() + "字节。接收字符串为:"+output); } } } }
|
请发表评论