这是我的简单代码:
package NetworkProgramming;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class CommunicationServer {
public static void main(String [] args) throws IOException{
ServerSocket server = new ServerSocket(1617);
Socket socket = server.accept();
System.out.println("Accepted");
}
}
该程序只停留在server.accept()中。 我试过这样做:
Socket socket = new Socket(ip,port);
并且它成功了,但当我socket = server.accept();
时它就卡住了!
该代码有什么问题? 提前谢谢!
编辑:请查看以下代码:
如果您正在编程服务器,那么这就是您打开套接字的方式:
ServerSocket MyService;
try {
MyServerice = new ServerSocket(PortNumber);
}
catch (IOException e) {
System.out.println(e);
}
实现服务器时,还需要从ServerSocket创建一个套接字对象,以便侦听和接受来自客户端的连接。
Socket clientSocket = null;
try {
serviceSocket = MyService.accept();
}
catch (IOException e) {
System.out.println(e);
}
我做了同样的事情,但它不起作用......
答案 0 :(得分:0)
首先运行服务器类CommunicationServer,然后在客户端类MyClient下运行。
import java.io.*;
import java.net.*;
public class MyClient {
public static void main(String[] args) {
try {
Socket s = new Socket("localhost", 1617);
DataOutputStream dout = new DataOutputStream(s.getOutputStream());
s.close();
dout.close();
} catch (Exception e) {
System.out.println(e);
}
}}
答案 1 :(得分:0)