Network Notifications - no socket listening

The Growl forums have moved to Google Groups, this forum is read only.
Locked
hexually_active
Harmless
Posts: 3
Joined: Thu Feb 15, 2007 3:21 am

Network Notifications - no socket listening

Post by hexually_active »

Hi, new user to Growl, seems very cool. I'm having problems though with the network notifications. Specifically:
1. New install of current version.
2. Enable network notifications
3. Reboot machine
4. Run nmap against localhost (UDP) - yields nothing on 9887
5. Dig around and look at growl prefs file - shows network notifications enabled, and UDP port 9887
6. If doesn't appear to be opening a socket listening on the specified port?
7. Any ideas?
User avatar
bgannin
Growl Team
Posts: 1817
Joined: Thu Dec 02, 2004 8:11 am
Location: ..here
Contact:

Post by bgannin »

Network notification support isn't that robust currently and we are aware of this. That said, there's also TCP port 23052 that may be used, so you'll want to check this as well.
Try my software!

#define ADIUMX pimp //by me
#define QUESTION ((2b) || (!2b))
Have you hugged a programmer today?
hexually_active
Harmless
Posts: 3
Joined: Thu Feb 15, 2007 3:21 am

Post by hexually_active »

Thanks for the quick response. I guess I have 3 options:

1. Wait for a new release with issues resolved
2. Fire up Xcode and try to work out the issues and submit a diff -u patch
3. Use the Java binding in my own socket server

I really like this, and think it has a lot of potential
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

Java bindings we're probably going to drop support for. I need to verify, but I believe they use the cocoa-java bridge, which is deprecated.

We're not focusing on networking for a few releases. It sorely needs it, but to be quite honest, so does everything else. Our focus is local notifications for now until at least 1.5.

But patches we can work with easily would definitely be welcome :)
IngmarStein
Latté
Posts: 63
Joined: Fri Dec 03, 2004 5:35 pm

Post by IngmarStein »

It works for me:

Code: Select all

ingmar@stonecutter:~$ netstat | grep 9887
udp46      0      0  *.9887                 *.*                    
Btw, bgannin, the TCP and UDP port serve two completely different purposes and use different protocols, you cannot just say "take the TCP port if UDP doesn't work for you".
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

IngmarStein wrote:It works for me:

Code: Select all

ingmar@stonecutter:~$ netstat | grep 9887
udp46      0      0  *.9887                 *.*                    
Btw, bgannin, the TCP and UDP port serve two completely different purposes and use different protocols, you cannot just say "take the TCP port if UDP doesn't work for you".
Could you write documentation on it?
IngmarStein
Latté
Posts: 63
Joined: Fri Dec 03, 2004 5:35 pm

Post by IngmarStein »

From http://growl.info/documentation/developer/protocol.php:
Growl currently supports two different network protocols:
  • Distributed Objects over TCP (port 23052)
    GrowlTalk over UDP (default port: 9887)
This document describes the UDP protocol.
I don't have any user-level documentation on networking, though.
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

So why couldn't the tcp port be used if udp does not work? That's what I was wondering.
IngmarStein
Latté
Posts: 63
Joined: Fri Dec 03, 2004 5:35 pm

Post by IngmarStein »

I just wanted to point out that you cannot use both ports interchangeably because they use two very different protocols. If you want to use GrowlTalk, you cannot just switch from UDP/9887 to TCP/23052 and expect things to work.
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

So how do we make it so the user can do that? Our networking is always a pain point for us because nobody understands how it works except for a very small group of people, and the people using it have all these weird misconceptions about how networking works in general, or really weird networking setups.

I'd really like something that just tries one, and then tries the other, rather than forcing the user to know a thing about networking. How can we make it easy?
hexually_active
Harmless
Posts: 3
Joined: Thu Feb 15, 2007 3:21 am

Post by hexually_active »

UPDATE: Thanks for the dialog. After looking at the source, and also learning that nmap is a poor tool for reporting listening UPD ports, I was able to send a UDP DGRAM successfully and it works great!

For anybody else trying to use the PHP class from http://the.taoofmac.com.nyud.net:8090/s ... tgrowl.php

I had to modify the socket calls from socket_send_to, to socket_write.
Locked