소켓을 사용하여 서버와 스트리밍 연결을 설정하고 있습니다. 소켓을 생성함으로써 소켓을 사용하여 서버에 요청을 보내려고했습니다. 그러나 어떤 방법을 사용하든 상관없이 요청은 서버에 의해 수신되지 않습니다. 이들은 내가 요청을 보내는 데 사용했던 방법입니다.java에서 소켓을 사용하여 서버에 요청 보내기
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(query);
또는 다른 하나는 내가 보내려고 요청이 같은 것입니다
out = new ObjectOutputStream(connection.getOutputStream());
out.writeObject(msg);
out.flush();
입니다 :이 쿼리를 보내는 사용하여 훨씬 쉽다는 것을 알고
String query = String.format("cmd=%s&version=%s", "handshake", "1.0");
Http 연결하지만, 이것이 완료되어야하는 방법입니다. 그러니 제발 도와주세요. 이는 HttpConnection에이
String charset = "UTF-8";
String query = String.format("cmd=%s&version=%s", "handshake", "1.0");
String charset = "UTF-8";
URL url = new URL("serveraddress:8080");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.connect();
OutputStream output = conn.getOutputStream();
output.write(command.getBytes(charset));
InputStreamReader content = new InputStreamReader(conn.getInputStream());
String result ="";
int c = content.read();
while (c != -1) {
result = result + ((char) c);
c = content.read();
}
Log.v(logTag, "Received: [" + result + "]");
명령이며, 이것은 내가 소켓 연결을 열 로그 서버에 따라
URL url = new URL("serveraddress:8080");
String server_name = url.getHost();
int port = url.getPort();
Socket socket = new Socket(server_name, port);
String query = "post /swarm HTTP/1.1\nHost: serveraddress\n" +
"content-length: 27\nkeep-alive: 300\nconnection: keep-alive\n\n" +
"cmd=handshake&version=1.0\n";
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(query);
작동하지 않았다 소켓했고, 모든 요청
을받지 않고 폐쇄 것입니다
서버가 수신하는 포트로 텔넷 할 수 있습니까? – lobster1234
httpconnection을 사용하여 적절한 답장을 받았는데 소켓을 사용하는 것이 다른 것으로 생각합니까? 내 말은 http 연결이 작동하여 포트가 괜찮은 것입니다. 권리? – Daniel
예, 포트가 정상이어야합니다. 소켓을 사용할 때 어떤 예외 상황이 보이십니까? – lobster1234