林開發客戶端 - 服務器應用程序。客戶端是基於Java的,服務器端是Windows中的C++。如何針對java客戶端實現一個C++套接字服務器?
我試着去與他們溝通插座,但遇到一些麻煩IM。
我已成功傳達的客戶端與Java服務器,以測試是否是我的客戶,這是錯誤的,但它不是,好像我不是這樣做是正確的C++版本。
Java服務器是這樣的:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args){
boolean again = true;
String mens;
ServerSocket serverSocket = null;
Socket socket = null;
DataInputStream dataInputStream = null;
DataOutputStream dataOutputStream = null;
try {
serverSocket = new ServerSocket(12321);
System.out.println("Listening :12321");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(again){
try {
System.out.println("Waiting connection...");
socket = serverSocket.accept();
System.out.println("Connected");
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream = new DataOutputStream(socket.getOutputStream());
while (again){
mens = dataInputStream.readUTF();
System.out.println("MSG: " + mens);
if (mens.compareTo("Finish")==0){
again = false;
}
}
} catch (IOException e) {
System.out.println("End of connection");
//e.printStackTrace();
}
finally{
if(socket!= null){
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}
}
if(dataInputStream!= null){
try {
dataInputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(dataOutputStream!= null){
try {
dataOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
System.out.println("End of program");
}
}
客戶端只建立連接,併發送用戶介紹了一些消息。
能否請你給我一個類似的工作服務器,但在C++(在Windows)? 我不能讓它自己工作。
感謝名單。
客戶端代碼以及粘貼,並從你的服務器端日誌跟蹤。 – Sid 2012-02-06 17:00:32
此外,一個簡單的谷歌搜索,就會發現數百,甚至數千的例子和教程製作一個套接字服務器在Windows中,。 – 2012-02-07 06:40:26