명령 줄에서 여러 소켓/웹 서비스에 연결하고 표준 출력/데이터에서 앞뒤로 데이터를 보내려고합니다.Windows의 명령 줄에서 소켓에 연결하고 데이터를 보내십시오.
저는 지금까지 다양한 언어와 접근 방식을 사용하여이 작업을 수행해 왔습니다 : C#의 System.Net.Sockets, Flash의 flash.net.sockets 및 Java의 java.net.sockets (사용되는 프로토콜에 따라 다름) 소켓을 작성한 회사가 제공 한 클라이언트 예제에서 사용되는 소켓과 언어에 의해. 이 작업을 수행하기 위해 언어에서 언어로 이동하는 데 충분한 시간을 가지며 (각각의 경우 제공된 클라이언트 소켓 예제를 사용하여) 모든 클라이언트가 Java로 전환됩니다.
그동안 Windows에서 명령 줄의 소켓에 연결하고 표준 출력에서 반환되는 내용을 보려면 명령 줄에서 텍스트를 보내야합니다 (또는 매우 간단한 GUI) 돌아 오는 것을 확인하십시오. 필자는 소켓을 유지하기 위해 정기적 인 핑 (ping)과 같은 추가 기능이 필요하지 않습니다.
Windows에서 어떤 도구를 사용할 수 있습니까? 소켓 (예 : push.domain.com 1234)에 대한 텔넷 세션을 열려고 시도했으며, 또한 퍼티를 사용하여 아무런 문제없이 연결할 수있었습니다.
내가 플래시 클라이언트가이 소켓에 연결하고 전송하고 수신하는 방식을 모방하기 위해 노력하고있어 데이터 :
내가 35, 1, 23, 7, 0의 바이트 값을 보낼 수있는 방법theSocket.addEventListener(Event.CONNECT, connectHandler);
theSocket.connect(theHost, thePort);
* * *
private function connectHandler(event:Event) : void
{
if (theSocket.connected)
{
bytes = new ByteArray();
bytes.writeByte(35);
bytes.writeByte(1);
bytes.writeByte(23);
bytes.writeByte(7);
bytes.writeUTFBytes(theTopic);
bytes.writeByte(0);
theSocket.writeBytes(bytes);
theSocket.flush();
theSocket.addEventListener(ProgressEvent.SOCKET_DATA, handshakeHandler);
* * *
private function handshakeHandler(event:ProgressEvent) : void
{
var zero:int = 0;
theSocket.removeEventListener(ProgressEvent.SOCKET_DATA, handshakeHandler);
theConnectionTimer.stop();
var bytes:* = new ByteArray();
var counter:int = 0;
theSocket.readUTFBytes(theSocket.bytesAvailable));
var a:* = theSocket.readByte();
var b:* = theSocket.readByte(); // the second byte should be 1????
var response:* = theSocket.readByte(); // this is the reponse identifier. . . ???
theMessageSize = theSocket.readByte(); // is this byte the size??????
switch(response)
{
case 100:
{
while ((zero = theSocket.readByte()) != 0)
{
var temp = counter++;
bytes[temp] = _loc_5;
};
theClientID = bytes.toString();
trace("The client ID is: " + theClientID);
, Hercules (또는 다른 도구)를 사용하여 소켓의 변수 Topic 값을 가져올 수 있습니다. 이상적으로, 나는 Hercules와 연결하고, 그 바이트들과 주제를 보내고, 코드에서 clientID를 포함하는 것을 다시 얻고 싶다. 하지만, 헤라클레스가 응답의 바이트를 텍스트로 렌더링할지 모릅니다.
나는 이것에 대한 어떤 조언도 주시면 감사하겠습니다.
감사합니다.
그래서 '투표 닫기, 정확한 중복'을 선택하지 않으시겠습니까? – KevinDTimm
글쎄, 질문은 동일하지 않다, 다른 하나는 서버로 사용할 도구를 요구하고 있었는데,이 질문은 클라이언트로 사용할 수있는 도구에 관한 것이다. – pmoleri
'# 035 # 001 # 023 # 007thetopicnamegoherehere here # 000' 시도해주세요. – pmoleri