为什么会发生这种插座程序采取不同的端口,每次我连接到它
问题描述:
服务器端程序为什么会发生这种插座程序采取不同的端口,每次我连接到它
import java.net.*;
import java.io.*;
public class GreetingServer extends Thread
{
private ServerSocket serverSocket;
public GreetingServer(int port) throws IOException
{
serverSocket = new ServerSocket(port);
serverSocket.setSoTimeout(10000);
}
public void run()
{
while(true)
{
try
{
System.out.println("Waiting for client on port " +
serverSocket.getLocalPort() + "...");
Socket server = serverSocket.accept();
System.out.println("Just connected to "
+ server.getRemoteSocketAddress());
DataInputStream in =
new DataInputStream(server.getInputStream());
System.out.println(in.readUTF());
DataOutputStream out =
new DataOutputStream(server.getOutputStream());
out.writeUTF("Thank you for connecting to "
+ server.getLocalSocketAddress() + "\nGoodbye!");
server.close();
}catch(SocketTimeoutException s)
{
System.out.println("Socket timed out!");
break;
}catch(IOException e)
{
e.printStackTrace();
break;
}
}
}
public static void main(String [] args)
{
int port = Integer.parseInt(args[0]);
try
{
Thread t = new GreetingServer(port);
t.start();
}catch(IOException e)
{
e.printStackTrace();
}
}
}
客户端程序
而且任何文件发送,如果可能,收到的时间。 我试了很多,但我不明白为什么使用不同的端口和文件操作。
答
为什么会发生这种插座程序每次连接 时间采取不同的端口,它
这就是当你连接一个未绑定的套接字操作系统做什么。它选择一些可用的源端口(称为“临时端口”)并使用它。如果你想确保它选择一个特定的端口,你需要bind
这个插座。
可以请你帮我绑定端口和IP地址 我需要发送文件以及数据对象我coudnt找出我的自我.... 在此先感谢! – user1478541 2013-02-11 17:08:01