|
TServerSocket 은 자바이고 클라는 c++빌더 입니다.
그런데
메시지를 전송하면..
어쩔때마다 15 란 값이나 14란 값이 서버에 출력이 되고..
어느 컴터에서는 잘 되고 그럼니다..
무슨 현상인지...
클라쪽 문제는 아닌거 같은데
서버 쪽 소스 보여드리겠습니다.
------------------------------------------------------------------------------------------
package tcpserver;
import java.io.*;
import java.net.*;
import java.lang.String;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
class ThreadEServer
{
public static void main(String[] args) throws IOException, SQLException
{
Config.load(); // 파일 읽기
//L1DatabaseFactory 초기설정
L1DatabaseFactory.setDatabaseSettings(Config.DB_DRIVER, Config.DB_URL,Config.DB_LOGIN, Config.DB_PASSWORD);
L1DatabaseFactory.getInstance();
ServerSocket server = new ServerSocket(2381); // 2381 Port
System.out.println("Server Start!");
while (true)
{
Socket socket = server.accept();
new Connection(socket);
}
}
static class Connection extends Thread
{
private Socket socket;
private InputStream fromClient;
private OutputStream toClient;
private String iptoport;
public Connection(Socket socket) throws IOException
{
//System.out.println("connecting " + socket);
this.socket = socket;
fromClient = socket.getInputStream();
toClient = socket.getOutputStream();
start();
}
public void run()
{
try
{
InputStream fromClient = socket.getInputStream();
OutputStream toClient = socket.getOutputStream();
byte[] buf = new byte[1024];
int count;
String outdata = null;
count = fromClient.read(buf);
while (count !=-1)
{
outdata = new String(buf, 0, count-1);
System.out.println(outdata);
}
System.out.println("연결 종료 : " + outdata);
toClient.close();
}
catch(IOException e)
{
System.out.println("연결 중단 " + socket);
}
finally
{
try
{
socket.close();
}
catch(IOException e) {}
}
}
}
}
|