Connection between Windows XP & Mac OS X very slow

Hi,

I have a custom server running on a Windows XP SP2, using jre1.6.0_01. When I connect to this server with a client running on another Windows OS, the ServerSocket.accept() method returns successfully & rapidly. However, when the same client is run on a Mac OS X 1.4.9 using jre1.5.0_07, the server takes about 20 seconds to accept the connection, which is an unacceptable period of latency in my production environment. Is it due to a compliance issue between the two vendors of the JRE? Should I install the Sun JRE on the Mac OS X client (if it is possible)? Is there another way to get this to work efficiently?

Here are the system properties of my server:

java.runtime.name: Java(TM) SE Runtime Environment

sun.boot.library.path: C:\java\jre1.6.0_01\bin

java.vm.version: 1.6.0_01-b06

java.vm.vendor: Sun Microsystems Inc.

java.vendor.url: http://java.sun.com/

path.separator: ;

java.vm.name: Java HotSpot(TM) Client VM

file.encoding.pkg: sun.io

sun.java.launcher: SUN_STANDARD

user.country: CH

sun.os.patch.level: Service Pack 2

java.vm.specification.name: Java Virtual Machine Specification

user.dir: C:\java\transmediaco\lib

java.runtime.version: 1.6.0_01-b06

java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment

java.endorsed.dirs: C:\java\jre1.6.0_01\lib\endorsed

os.arch: x86

java.io.tmpdir: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\

line.separator:

java.vm.specification.vendor: Sun Microsystems Inc.

user.variant:

os.name: Windows XP

sun.jnu.encoding: Cp1252

java.library.path: C:\WINDOWS\system32;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Autodesk\Backburner\;C:\Program Files\Java\jdk1.5.0_09\bin;C:\ffmpeg;C:\Program Files\QuickTime\QTSystem\

java.specification.name: Java Platform API Specification

java.class.version: 50.0

sun.management.compiler: HotSpot Client Compiler

os.version: 5.1

user.home: C:\Documents and Settings\administrateur

user.timezone:

java.awt.printerjob: sun.awt.windows.WPrinterJob

file.encoding: Cp1252

java.specification.version: 1.6

java.class.path: properties-displayer.jar

user.name: administrateur

java.vm.specification.version: 1.0

java.home: C:\java\jre1.6.0_01

sun.arch.data.model: 32

user.language: fr

java.specification.vendor: Sun Microsystems Inc.

awt.toolkit: sun.awt.windows.WToolkit

java.vm.info: mixed mode, sharing

java.version: 1.6.0_01

java.ext.dirs: C:\java\jre1.6.0_01\lib\ext;C:\WINDOWS\Sun\Java\lib\ext

sun.boot.class.path: C:\java\jre1.6.0_01\lib\resources.jar;C:\java\jre1.6.0_01\lib\rt.jar;C:\java\jre1.6.0_01\lib\sunrsasign.jar;C:\java\jre1.6.0_01\lib\jsse.jar;C:\java\jre1.6.0_01\lib\jce.jar;C:\java\jre1.6.0_01\lib\charsets.jar;C:\java\jre1.6.0_01\classes

java.vendor: Sun Microsystems Inc.

file.separator: \

java.vendor.url.bug: http://java.sun.com/cgi-bin/bugreport.cgi

sun.io.unicode.encoding: UnicodeLittle

sun.cpu.endian: little

sun.desktop: windows

sun.cpu.isalist:

And here are the system properties of my client:

java.runtime.name: Java(TM) 2 Runtime Environment, Standard Edition

sun.boot.library.path: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries

java.vm.version: 1.5.0_07-87

awt.nativeDoubleBuffering:true

gopherProxySet:false

java.vm.vendor:"Apple Computer, Inc."

java.vendor.url: http://apple.com/

path.separator: :

java.vm.name: Java HotSpot(TM) Client VM

file.encoding.pkg: sun.io

user.country: FR

sun.os.patch.level: unknown

java.vm.specification.name: Java Virtual Machine Specification

user.dir: /Volumes/Stockage/lib

java.runtime.version: 1.5.0_07-164

java.awt.graphicsenv: apple.awt.CGraphicsEnvironment

java.endorsed.dirs: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed

os.arch: ppc

java.io.tmpdir: /tmp

line.separator:

java.vm.specification.vendor: Sun Microsystems Inc.

os.name: Mac OS X

sun.jnu.encoding: MacRoman

java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java

java.specification.name: Java Platform API Specification

java.class.version: 49.0

sun.management.compiler: HotSpot Client Compiler

os.version: 10.4.9

user.home: /Users/admin

user.timezone:

java.awt.printerjob: apple.awt.CPrinterJob

file.encoding: MacRoman

java.specification.version: 1.5

java.class.path: properties-displayer.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar

user.name: admin

java.vm.specification.version: 1.0

java.home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home

sun.arch.data.model: 32

user.language: fr

java.specification.vendor: Sun Microsystems Inc.

awt.toolkit: apple.awt.CToolkit

java.vm.info: mixed mode, sharing

java.version: 1.5.0_07

java.ext.dirs: /Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext

sun.boot.class.path: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar

java.vendor: Apple Computer, Inc.

file.separator: /

java.vendor.url.bug: http://developer.apple.com/java/

sun.io.unicode.encoding: UnicodeBig

sun.cpu.endian: big

mrj.version: 1040.1.5.0_07-164

sun.cpu.isalist:

Your help is appreciated

-Jerome

[6517 byte] By [jdroza] at [2007-11-27 1:58:04]
# 1

I'm not sure if Mac is affected, but this could be the slow connect bug

in JDK 1.5: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5092063

Fixes are: upgrade to Java 6, or add a reverse DNS mapping to your

name server, or (I don't know if this applies to the Mac) start the program

with "java -Dsun.net.spi.nameservice.provider.1=dns,sun TheProgram".

sjasjaa at 2007-7-12 1:34:20 > top of Java-index,Core,Core APIs...
# 2

Thank you for the reply.

- I tried to add the property sun.net.spi.nameservice.provider.1 to the command line: no effects...

- I changed my ethernet interface configuration by adding a secondary DNS server address, mapping to our local DNS server: that worked!

- I did not try to upgrade to version 6 on my client.

Thanks again

-Jerome

jdroza at 2007-7-12 1:34:20 > top of Java-index,Core,Core APIs...