基本信息
源码名称:c#网络编程实例服务器版
源码大小:0.04M
文件格式:.zip
开发语言:C#
更新时间:2015-07-22
   源码介绍

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace ConsoleApplicationserive
{
    class Program  
    {  
        private static byte[] result = new byte[1024];  
        private static int myProt = 8885;   //监听的端口  
        static Socket serverSocket;         //创建socket  
        static void Main(string[] args)  
        {  
            //服务器IP地址  
            IPAddress ip = IPAddress.Parse("127.0.0.1");  
            serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);  
            serverSocket.Bind(new IPEndPoint(ip, myProt));  //绑定IP地址:端口  
            serverSocket.Listen(10);    //设定最多10个排队连接请求  
            Console.WriteLine("启动监听{0}成功", serverSocket.LocalEndPoint.ToString());  
            //通过Clientsoket发送数据  
            Thread myThread = new Thread(ListenClientConnect);  
            myThread.Start();  
              
            Console.ReadLine();  
        }  
  
        /// <summary>  
        /// 监听客户端连接  
        /// </summary>  
        private static void ListenClientConnect()  
        {  
            while (true)  
            {  
                Socket clientSocket = serverSocket.Accept();  
                clientSocket.Send(Encoding.ASCII.GetBytes("Server Say Hello"));  
                Thread receiveThread = new Thread(ReceiveMessage);  
                receiveThread.Start(clientSocket);  
            }  
        }  
  
        /// <summary>  
        /// 接收消息  
        /// </summary>  
        /// <param name="clientSocket"></param>  
        private static void ReceiveMessage(object clientSocket)  
        {  
            Socket myClientSocket = (Socket)clientSocket;  
              
            while (true)  
            {  
                try  
                {  
                    //通过clientSocket接收数据  
                    int receiveNumber = myClientSocket.Receive(result);  
                    Console.WriteLine("接收客户端{0}消息{1}", myClientSocket.RemoteEndPoint.ToString(), Encoding.ASCII.GetString(result, 0, receiveNumber));
                    string str ;
                    str = "test ok";
                    myClientSocket.Send(Encoding.ASCII.GetBytes(str));
 
                }  
                catch (Exception ex)  
                {  
                    Console.WriteLine(ex.Message);  
                    myClientSocket.Shutdown(SocketShutdown.Both);  
                    myClientSocket.Close();  
                    break;  
                }  
            }  
        }

        /// <summary>  
        /// 发送客户端信息  
        /// </summary>   
        /// 
        private static void Senddata(string str)
        {
            //Socket myClientSocket = (Socket)clientSocket;

            //while (true)
            //{
            //    try
            //    {
            //        //通过clientSocket接收数据  
            //        int receiveNumber = myClientSocket.Receive(result);
            //        Console.WriteLine("接收客户端{0}消息{1}", myClientSocket.RemoteEndPoint.ToString(), Encoding.ASCII.GetString(result, 0, receiveNumber));
            //    }
            //    catch (Exception ex)
            //    {
            //        Console.WriteLine(ex.Message);
            //        myClientSocket.Shutdown(SocketShutdown.Both);
            //        myClientSocket.Close();
            //        break;
            //    }
            //}  

        }
            
    }  
}