本文整理匯總了C#中Quobject.SocketIoClientDotNet.Client.Socket.Connect方法的典型用法代碼示例。如果您正苦於以下問題:C# Socket.Connect方法的具體用法?C# Socket.Connect怎麽用?C# Socket.Connect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Quobject.SocketIoClientDotNet.Client.Socket
的用法示例。
在下文中一共展示了Socket.Connect方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Initialize
/// <summary>
/// Initializes the socket and sets-up all the events to listen to.
/// Server certifaction validation is ingnored, because the server uses a self-signed certificate.
/// </summary>
/// <param name="adress"></param>
public void Initialize(string adress, bool ignoreServerCertificateValidation) {
_socket = IO.Socket(adress, new IO.Options() { Secure = true, IgnoreServerCertificateValidation = ignoreServerCertificateValidation });
_socket.On("register-accepted", (data) => {
Console.WriteLine("Succesfull connected with Server");
});
_socket.On("register-failed", (data) => {
string errorMessage = data.ToString();
Console.WriteLine("Failed to connected with Server: {0}", errorMessage);
});
_socket.On("message", (data) => {
var message = JsonConvert.DeserializeObject<JsonReceivedMessage>(data.ToString());
OnMessageReceived(this, new MessageReceivedEventArgs() { Identifier = message.Sender, Message = message.Message, TimeStamp = message.Timestamp, GroupHash = message.GroupHash });
});
_socket.On("user-search", (data) => {
List<Client> clients = JsonConvert.DeserializeObject<List<Client>>(data.ToString());
OnUserSearch(this, new UserSearchEventArgs() { FoundMembers = clients });
});
_socket.On("user-confirm", (data) => {
var client = JsonConvert.DeserializeObject<Client>(data.ToString());
OnUserConfirm(this, new UserConfirmEventArgs() { PublicKey = client.PublicKey, UserName = client.UserName });
});
_socket.On("joined-group", (data) => {
var message = JsonConvert.DeserializeObject<JsonJoinedGroup>(data.ToString());
OnGroupJoined(this, new GroupJoinedEventArgs() { GroupName = message.GroupName, GroupHash = message.GroupHash, Members = message.Members });
});
_socket.Connect();
}
示例2: Login
public void Login(string username)
{
if (socket != null)
{
socket.Close();
}
socket = IO.Socket("http://chat.socket.io/");
socket.Connect();
var alert = new AlertDialog.Builder(this).SetMessage("Logging in...").Show();
var chat = new ChatFragment(username, socket, alert);
FragmentManager.BeginTransaction()
.Replace(Resource.Id.frameLayout, chat)
.Commit();
// Tell the server your username (login)
socket.Emit("add user", username);
}
示例3: connectInternet
public void connectInternet()
{
mSocket = IO.Socket(this.LocalHost);
if (this.checkConnect == false)
{
this.checkConnect = true;
mSocket.Connect();
}
mSocket.On(Socket.EVENT_CONNECT, () =>
{
BeginInvoke((Action)(() =>
{
Debug.WriteLine("OK");
this.tb_StatusConnection.Text = "Kết nối thành công Internet.!";
}), null);
});
mSocket.On(Socket.EVENT_DISCONNECT, () =>
{
BeginInvoke((Action)(() =>
{
this.tb_StatusConnection.Text = "Ngắt kết nối.!";
}), null);
});
mSocket.On("Doc danh sach phong choi", (data) =>
{
BeginInvoke((Action)(() =>
{
string[] danhsachphong = data.ToString().Split('|');
this.lb_DanhSachPhong.Items.Clear();
foreach (var phong in danhsachphong)
if (!String.IsNullOrWhiteSpace(phong))
this.lb_DanhSachPhong.Items.Add(phong);
}), null);
});
}
示例4: connect
public LinkIO connect(Action<LinkIO> listener)
{
IO.Options opts = new IO.Options();
Dictionary<String, String> query = new Dictionary<String, String>();
if(mail != "")
query.Add("mail", mail);
if (password != "")
query.Add("password", password);
query.Add("api_key", api_key);
opts.Query = query;
opts.AutoConnect = false;
opts.Transports = ImmutableList.Create<string>(WebSocket.NAME, Polling.NAME);
socket = IO.Socket("http://" + serverIP, opts);
socket.On("users", (e) =>
{
List<User> users = ((JArray)e).ToObject<List<User>>();
if (users.Count > usersInRoom.Count)
{
foreach(User user1 in users)
{
bool found = false;
foreach(User user2 in usersInRoom)
{
if (user1.ID == user2.ID)
found = true;
}
if (!found)
userJoinListener.Invoke(user1);
}
}
else
{
foreach (User user1 in usersInRoom)
{
bool found = false;
foreach (User user2 in users)
{
if (user1.ID == user2.ID)
found = true;
}
if (!found)
userLeftListener.Invoke(user1);
}
}
usersInRoom = users;
});
socket.On("error", (Object o) =>
{
if (errorHandler != null)
{
string message = (string)((JValue)o);
message = message.Replace("\"", "");
switch (((string)((JValue)o)).Replace("\"", ""))
{
case "ACCOUNT ERROR":
errorHandler.Invoke(new AccountNotFoundException("Email does not match any account in API."));
break;
case "PASSWORD ERROR":
errorHandler.Invoke(new WrongPasswordException("Password does not match the given Email."));
break;
case "API_KEY ERROR":
default:
errorHandler.Invoke(new WrongAPIKeyException("The application does not match with an API key."));
break;
}
}
});
socket.On("info", (Object o) =>
{
JObject evt = (JObject)o;
currentUser = new User()
{
Name = (String)evt.SelectToken("name"),
FirstName = (String)evt.SelectToken("firstname"),
Mail = (String)evt.SelectToken("mail"),
ID = (String)evt.SelectToken("id"),
Role = (String)evt.SelectToken("role")
};
Task.Run(() =>
{
connected = true;
listener.Invoke(this);
});
});
socket.On(Socket.EVENT_DISCONNECT, () =>
{
connected = false;
//.........這裏部分代碼省略.........
示例5: ViewDidLoad
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
if (socket != null) {
socket.Close ();
}
socket = IO.Socket ("http://chat.socket.io/");
socket.Connect ();
var alert = new UIAlertView ("Log in", "Logging in...", null, null, null);
alert.Show ();
AttachSocketEvents (alert);
// Tell the server your username (login)
socket.Emit ("add user", Username);
entryText.Selected = true;
entryText.Started += (sender, e) => {
if (connected) {
if (!typing) {
typing = true;
socket.Emit ("typing");
}
}
};
entryText.Ended += (sender, e) => {
if (connected) {
if (typing) {
socket.Emit ("stop typing");
typing = false;
}
}
};
sendButton.TouchUpInside += (sender, e) => {
SendMessage ();
socket.Emit ("stop typing");
typing = false;
};
// scroll up when the keyboard appears
NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.WillShowNotification, notification => {
var info = notification.UserInfo;
var kbFrame = (NSValue)info [UIKeyboard.FrameEndUserInfoKey];
var kbDuration = (NSNumber)info [UIKeyboard.AnimationDurationUserInfoKey];
var animationDuration = kbDuration.DoubleValue;
var keyboardFrame = kbFrame.CGRectValue;
nfloat height = keyboardFrame.Size.Height + 8;
entryTextBottom.Constant = height;
sendButtonBottom.Constant = height;
UIView.Animate (animationDuration, () => View.LayoutIfNeeded ());
});
NSNotificationCenter.DefaultCenter.AddObserver (UIKeyboard.WillHideNotification, notification => {
var info = notification.UserInfo;
var kbDuration = (NSNumber)info [UIKeyboard.AnimationDurationUserInfoKey];
var animationDuration = kbDuration.DoubleValue;
entryTextBottom.Constant = 8;
sendButtonBottom.Constant = 8;
UIView.Animate (animationDuration, () => View.LayoutIfNeeded ());
});
}
示例6: connectSocket
public void connectSocket()
{
if (this.TOKEN != null)
{
try
{
Dictionary<string, string> _author = new Dictionary<string, string>();
_author.Add("token", this.TOKEN);
IO.Options _option = new IO.Options();
//_option.Timeout = 5000;
_option.Query = _author;
_option.ForceNew = true;
_option.Reconnection = true;
_option.ReconnectionDelay = 500;
mSocket = IO.Socket(HOSTNAME, _option);
mSocket.On(Socket.EVENT_CONNECT, () =>
{
Dispatcher dispatcher = Deployment.Current.Dispatcher;
dispatcher.BeginInvoke(() =>
{
// MessageBox.Show("OK");
});
Debug.WriteLine("OK");
});
mSocket.On(Socket.EVENT_CONNECT_ERROR, onConnectError);
mSocket.On(Socket.EVENT_CONNECT_TIMEOUT, onConnectTimeout);
mSocket.On(Socket.EVENT_ERROR, () =>
{
Dispatcher dispatcher = Deployment.Current.Dispatcher;
dispatcher.BeginInvoke(() =>
{
// MessageBox.Show("ERROR");
mSocket.Connect();
mSocket.Open();
});
});
mSocket.On(Constant.SOCKET_EVENT_JOIN, onJoinRoom);
mSocket.On(Constant.SOCKET_EVENT_ADD, onAddUser);
mSocket.On(Constant.SOCKET_EVENT_LEAVE, onLeaveRoom);
mSocket.On(Constant.SOCKET_EVENT_CHANGE_ROOM_TITLE, onChangeRoomTitle);
mSocket.On(Constant.SOCKET_EVENT_CHAT, (data) => {
Debug.WriteLine(data.ToString());
Dispatcher dispatcher = Deployment.Current.Dispatcher;
dispatcher.BeginInvoke(() =>
{
String result = data.ToString();
ChatResponse resultObject = JsonConvert.DeserializeObject<ChatResponse>(result);
if(resultObject.data.message.type == 2)
{
App.ViewModel.Items.Add(new ViewModels.ItemViewModel() { SenderID = resultObject.data.sender._id, CreateAt = resultObject.data.sequence, MessageText = resultObject.data.message.message, Avatar = new Uri(resultObject.data.sender.avatar), Type = resultObject.data.message.type, thumbnail = new Uri(resultObject.data.message.file.thumbnail, UriKind.RelativeOrAbsolute) });
}
else
{
App.ViewModel.Items.Add(new ViewModels.ItemViewModel() { SenderID = resultObject.data.sender._id, CreateAt = resultObject.data.sequence, MessageText = resultObject.data.message.message, Avatar = new Uri(resultObject.data.sender.avatar), Type = resultObject.data.message.type });
}
if(resultObject.data.sender._id != App._userid)
{
var stream = Application.GetResourceStream(new Uri(@"Assets/Audio/recieve.wav", UriKind.RelativeOrAbsolute));
var effect = SoundEffect.FromStream(stream.Stream);
var soundInstance = effect.CreateInstance();
FrameworkDispatcher.Update();
soundInstance.Play();
App._reuserid = resultObject.data.sender._id;
ToastPrompt tost = new ToastPrompt()
{
Title = resultObject.data.sender.username,
Message = resultObject.data.message.message,
};
tost.Tap += tosk_Tap;
tost.Show();
}
});
});
mSocket.Connect();
}
catch(Exception e)
{
Debug.WriteLine("IO exception " + e.Message);
//mSocket.Close();
// mSocket.Open();
}
}
else
{
Debug.WriteLine("No token found!");
}
}
示例7: connect
public LinkIO connect(Action listener)
{
IO.Options opts = new IO.Options();
Dictionary<String, String> query = new Dictionary<String, String>();
query.Add("user", user);
if(id != "")
query.Add("id", id);
opts.Query = query;
opts.AutoConnect = false;
socket = IO.Socket("http://" + serverIP, opts);
socket.On("users", (e) =>
{
if (userInRoomChangedListener != null)
userInRoomChangedListener.Invoke(((JArray) e).ToObject<List<User>>());
});
socket.On(Socket.EVENT_CONNECT, () =>
{
connected = true;
listener.Invoke();
});
socket.On(Socket.EVENT_DISCONNECT, () =>
{
connected = false;
});
socket.On("event", (Object o) =>
{
JObject evt = (JObject) o;
String eventName = (String) evt.SelectToken("type");
if (eventListeners.ContainsKey(eventName))
{
eventListeners[eventName].Invoke(new Event(evt));
}
});
socket.Connect();
return this;
}