Exemplo n.º 1
0
        public static bool ConnectServer(SocketPara para)
        {
            bool res = false;

            var sock = Connect(para);
            if (sock != null)
            {
                Socket clientSocket;
                if (SocketList.TryGetValue(para.ID, out clientSocket))
                {
                    try
                    {
                        clientSocket.Shutdown(SocketShutdown.Both);
                        clientSocket.Close();
                    }
                    catch (Exception)
                    {
                    }
                    SocketList.Remove(para.ID);
                }

                SocketList.Add(para.ID, sock);
                res = true;
            }

            return res;
        }
Exemplo n.º 2
0
 public void Connect(AccountModel para)
 {
     {
         var temp = new SocketPara();
         temp.ID = para.AccountName;
         //temp.IP = para.IP;
         temp.IP = "127.0.0.1";
         temp.Port = 8888;
         SocketClient.ConnectServer(temp);
     }
 }
Exemplo n.º 3
0
        private static Socket Connect(SocketPara para)
        {
            //设定服务器IP地址  
            IPAddress ip = IPAddress.Parse(para.IP);
            Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                clientSocket.Connect(new IPEndPoint(ip, para.Port)); //配置服务器IP与端口  
                Log.WriteLine("连接服务器成功");
            }
            catch
            {
                Log.WriteLine("连接服务器失败");
                return null;
            }
            //通过clientSocket接收数据  
            int receiveLength = clientSocket.Receive(result);
            Log.WriteLine("接收服务器消息:{0}" + Encoding.ASCII.GetString(result, 0, receiveLength));
            //通过 clientSocket 发送数据  
            for (int i = 0; i < 10; i++)
            {
                try
                {
                    Thread.Sleep(1000);    //等待1秒钟  
                    string sendMessage = "client send Message Hellp" + DateTime.Now;
                    clientSocket.Send(Encoding.ASCII.GetBytes(sendMessage));
                    Log.WriteLine("向服务器发送消息:{0}" + sendMessage);
                }
                catch
                {
                    clientSocket.Shutdown(SocketShutdown.Both);
                    clientSocket.Close();
                    break;
                }
            }
            Log.WriteLine("发送完毕");

            return clientSocket;
        }