Close
Page 6 of 9 FirstFirst ... 4 5 6 7 8 ... LastLast
Showing results 51 to 60 of 83
  1. #51

    Default

    Quote Originally Posted by Moorea View Post
    This being said, more seriously/interestingly, why do you need 2 sockets - a socket is bi directional; so you should only need either of the machine to connect to the other; not both
    Because I discovered through testing that Windows sockets are capable of making more transmissions per second in one direction than the other. Winsock connections aren't symmetrical in terms of performance.
    �Author of HotkeyNet and Mojo

  2. #52

    Default

    Quote Originally Posted by Freddie View Post
    Because I discovered through testing that Windows sockets are capable of making more transmissions per second in one direction than the other. Winsock connections aren't symmetrical in terms of performance.
    IC, Are you sure it's direction issue ? I think what you may have found is you get more throughput using 2 sockets than using 1 (for the same latency, and depending on stack tuning) but the direction itself shouldn't(*) matter - is the difference really noticeable ? Maybe you can fallback to using 1 socket if somehow you can't get the second one ? (though that may make your code more complicated) - I guess sending all IPs would probably work)


    *: I know TCP/IP pretty well; admittedly I have no clue about windows specifics though so I don't know how the folks in redmond may have botched it up so I guess anything is possible...
    2,3,5 boxing wow with Wow Open Box and MAMA, give them a try!
    (was 8 Boxing Wow with HotKeyNet and ISBoxer)
    Was streaming on twitch.tv/MooreaTv

  3. #53

    Default

    Quote Originally Posted by Freddie View Post
    I need to understand why it's not working before I can fix it. I'll have to set up ICS here, watch the programs in a debugger, log their communications, etc.

    Given what you said about how it works I know why the connection fails: if you send the default (external) IP to the computer using ICS it can't connect to that IP from it's side of the network, which is why it fails - sending all the IPs and trying them all would work

    ps: maybe we should use the IRC chat or something so we don't create hundreds of post for a simple dialog :-)
    2,3,5 boxing wow with Wow Open Box and MAMA, give them a try!
    (was 8 Boxing Wow with HotKeyNet and ISBoxer)
    Was streaming on twitch.tv/MooreaTv

  4. #54

    Default

    Quote Originally Posted by Moorea View Post
    IC, Are you sure it's direction issue ?
    Yes.

    I think what you may have found is you get more throughput using 2 sockets than using 1
    No, because only one connection is used at a time.

    is the difference really noticeable ?
    Yes, it's quite noticeable during mouseover. That's the only time that Mojo (or HotkeyNet 2 where I first noticed this) tries to make many transmissions per second on the same connection. Cursor motion on the remote is noticeably snappier (a higher FPS rate, so to speak) when the socket connection is used in the preferred direction.

    Maybe you can fallback to using 1 socket if somehow you can't get the second one ? (
    When the program is mature and fully debugged, at that future time, I'll do that. But if I do it now, it will only conceal problems.

    I want the problems to be seen and reported to me so I can fix them.

    I guess sending all IPs would probably work)
    I thought you said that picking different IP addresses from the drop down list didn't fix the problem (or it half solved the problem but not completely). All the IP addresses are on that list. If picking them from the list didn't fix the problem, then sending them automatically won't fix it either.

    In any case, this idea would have some bad effects because normally, on most computers, all the IPs would connect and Mojo would end up with many (possibly many dozens) of socket connections between every pair of computers. If you have two PCs and each one has four interfaces, you'd end up with 4 x 4 x 2 = 32 socket connections. During mouseover, every time you moved the mouse, the local PC would send 16 different TCP packets instead of just one. The receiving Mojo would receive every communication multiple times on every one of its adapters. I would have to add serial numbers to the messages so the receiving Mojo could throw away the duplicates.

    To avoid this, I would have to add complicated code to Mojo to audit the number of connections and prune them.

    *: I know TCP/IP pretty well; admittedly I have no clue about windows specifics though so I don't know how the folks in redmond may have botched it up so I guess anything is possible...
    I don't think this asymmetry is particularly surprising, and I don't think it means that Microsoft botched anything.

    There are always limits to peformance because performance can't ever be infinite. Even the speed of light is finite.

    All this proves is that the code for the client end and server end of sockets isn't exactly the same. Since it's not exactly the same it has different maximum performance limits.

    By the way, I only tested this on XP and Vista. It may be different in Win 7. For all I know, the situation is reversed in Win 7.
    Last edited by Freddie : 01-26-2010 at 05:32 AM
    �Author of HotkeyNet and Mojo

  5. #55

    Default

    Quote Originally Posted by Moorea View Post
    Given what you said about how it works I know why the connection fails: if you send the default (external) IP to the computer using ICS it can't connect to that IP from it's side of the network, which is why it fails -
    There are two issues, UDP and TCP.

    We don't know if the UDP packets are getting received in both directions.

    Regarding TCP, if the problem is what you say, you would have been able to fix the problem by selecting a different IP address from the drop down list.

    But you said that didn't fix the problem (or it solved the problem partly but not completely).

    You say that sending all IP addresses would fix the problem.

    But all IP addresses are on that list. You can select them manually. If sending one at a time (after choosing manually) doesn't fix the problem, then sending them all together automatically won't work either.
    Last edited by Freddie : 01-26-2010 at 05:33 AM
    �Author of HotkeyNet and Mojo

  6. #56

    Default

    Quote Originally Posted by Moorea View Post
    I found a small bug/issue with the latest (21) build:

    I changed my network settings for 2 laptop to use ICS (internet connection sharing) [...] the slave computer was showing as a black screen on the master one (and the master not at all on the slave) until I went into advanced settings and set the master [...] to use the private IP from ICS instead of system default [...]
    and after the first time you put in a post that I'd say it didn't work after setting IP manually:

    it did work (after changing the IP in the drop down) for the simple case of 1 mojo using ics connected to the mojo providing ics; what didn't work after that (2 different tests; 2 different posts) is [...]
    followed by another 2 or 3 post on why sending both ip would work... I don't know how else to say it... but it does highlight that using some sort of instant messaging would be much better medium for those than posts (would clear misunderstandings faster)

    Also to clarify something else; when I say try the other IPs; it means try something else only if the previous one fails; not brute force open many-many connections - in most case it would work as today, and sometime would just make another attempt and succeed if the first connection fails, instead of getting stuck...
    Last edited by Moorea : 01-26-2010 at 06:15 AM
    2,3,5 boxing wow with Wow Open Box and MAMA, give them a try!
    (was 8 Boxing Wow with HotKeyNet and ISBoxer)
    Was streaming on twitch.tv/MooreaTv

  7. #57

    Default

    Quote Originally Posted by Moorea View Post
    and after the first time you put in a post that I'd say it didn't work after setting IP manually:

    followed by another 2 or 3 post on why sending both ip would work..
    Part of the reason I don't understand is that you wrote the following:

    it did work (after changing the IP in the drop down) for the simple case of 1 mojo using ics connected to the mojo providing ics; what didn't work after that (2 different tests; 2 different posts) is having both the "inside" and "outside" mojos
    I don't know what "inside" and "outside" mean. I thought you were saying that manual selection didn't solve the whole problem. Or didn't solve both of two problems.

    If there are two problems, I don't know what the second problem is.

    Before I can do anything -- before I can even think about a solution -- I have to understand the observed behavior.

    When you tell me about a problem, what I need is a clear description of the program's visible behavior. That's the priority. I can't do anything without that.
    Last edited by Freddie : 01-26-2010 at 06:55 AM
    �Author of HotkeyNet and Mojo

  8. #58

    Default

    Problem 1
    --------------
    Step 1: 2 computers A and B; B sharing the A's internet connection (Windows built in ICS feature, need 2 interfaces)
    Step 2: start mojo on both
    Step 3: on A (the computer which has 2 ips) you'll get a black screen for the B mojo
    Step 4: on A go to advanced connection settings; pick 192.168.0.1 instead of "let the operating system choose"
    Step 5: 2 mojos are now blue on both A and B and everything now works (which shows it's "fixable")

    The bug is step 3 and the need for step 4

    My personal opinion again on the fix is that sending both IPs in the UDP packet and having the slave try the second one if the first one doesn't succeed would fix it easily and simply with no downside I can see


    Problem 2
    --------------
    Step 6: Add a 3rd computer C on the "internet" side of A (ie not on same network as B)
    Step 7: Start Mojo on C: C is yellow picture (in computers section) and purple text (in geeky stuff section) on A - 3rd column of text shows "C" (B is still blue with "AC"); A is yellow on C; B's screen shows A,B blue unchanged (doesn't see C which is normal)
    Step 8: pick the other IP; C becomes blue too

    So here again, trying both automatically will fix the problem - More work (and not necessary imo; would introduce complexity), i.e write a proxy, would be needed for C to see B and B to see A (proxied through A)


    Diagram

    B --------------------> A (ICS share) -------------> C
    "private ICS side" ................... "internet side"
    (aka 'inside') .............................(aka 'outside')

    internet side isn't really the internet; just another network that's not the ICS private one and happens to also have the router to the actual internet


    If problem 2 is confusing - just look at problem 1 as fixing it will fix both

    Note btw this problem is not specific to ICS - any computer with 2 interfaces where you can't route/access 1 of the IP from the other side will have the exact same problem (ie will advertise the same IP on both side which won't work on one of the network, with again an ez fix (a cleaner fix would actually be to get the IP of each interface and broadcast separately but that's more work and unnecessary)


    Thanks

    ps: It's 3am here so hopefully this is clear enough - and if not - well I'll try again some other day as I need sleep now
    Last edited by Moorea : 01-26-2010 at 07:54 AM
    2,3,5 boxing wow with Wow Open Box and MAMA, give them a try!
    (was 8 Boxing Wow with HotKeyNet and ISBoxer)
    Was streaming on twitch.tv/MooreaTv

  9. #59

    Default

    This is a know problem with Windows ICS.

    ICS is Windows Native Nat Router software. {Last I checked ICS does not use a standard NAT trasnlation]

    What Moorea is experiancing is that his one machine that he is using to Route out to the internet must have 2 IP adresses. one recived by his IP provider to go out to the internet, and a internal private address which his network uses.

    On that one machine that is acting as his router Mojo is finding and using the IP provided by his IP provider, and not his internel private address. thus Mojo on that maching is not conecting properly to the other till he goes in and tells that mojo to use the private network.

    I suppose to fix that you could put in an algorithm to priortise a private network befor a standard network ip.

    However ICS is not considered very efficent Nat Router software so not sure how many serious Multi boxers will use ICS [Internet Conncetion Sharing]

    And this can allready be solved on that one pc by going under MOJO connection settings under more optiens and add the private network this then should make it use that network as default.

  10. #60
    Member Fursphere's Avatar
    Join Date
    Mar 2007
    Location
    Northern California
    Posts
    1026

    Default

    I think they're talking about on the "left side" and "right side" of a firewall. Why would you put mojo on the outside of your internal firewall?
    -Legion of Boom Founder-
    -Retired-

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •