ServerSocket serverSocket= new ServerSocket(5555);的意思是服务器端的程序监听5555端口,如果这个程序启动成功了,服务器的5555端口就已经被占用了.
客户端用的是Socket类,这个类一般就指定服务器的端口和地址就行了,如你的5555.客户端的端口是随机的.如果强行指定也可以.但是你客户端和服务器端程序都用5555端口而且在同一机器上,必然导致后启动的程序无法使用5555端口,也就是被占用了.
如果说都必须使用5555端口,应该是你理解上的问题,客户端使用默认的随机端口就行了.只要客户端和服务端连接成功,就可以互相发送和接收数据.