java tcp中客户端不能接收到服务器的信息!

java tcp中客户端不能接收到服务器的信息!,第1张

inreadLine(); 是要读到有换行符才结束的,在这个之前都是堵塞的

你在你发送的

outwrite("quit"); ---->>outwrite("quit/r");

outwrite("链接用时"+(end-start)+"毫秒/r"); //计算该客户链接的时间

没有听懂楼主的话,做以下回答,不满意,不用采纳。

获取主机名和IP

使用Java IO,进行写入到指定位置。示例代码如下:

public void writerClassCode(String path, StringBuffer sb) {

File file = new File(path);//指定路径,如 D:\\Download\\javatxt

FileWriter writer;

try {

writer = new FileWriter(file);

writerwrite(sbtoString());//sb为主机名和IP,这个简写有意思吧!哈哈

writerclose();

} catch (IOException e) {

eprintStackTrace();

}

Systemoutprintln("执行完毕");

}

1jdbcproperties

driver=commicrosoftjdbcsqlserverSQLServerDriver

url=jdbc:microsoft:sqlserver://Ip地址:1433;databaseName=test

user=test

password=test

2一个Servlet

import javaioPrintStream;

import javasql;

import javautilResourceBundle;

public class DBOperator

{

public DBOperator()

{

}

public static void main(String args[])

{

Connection con = getConnection();

Systemoutprintln("connection success");

closeConnection(con);

Systemoutprintln("close success");

}

public static Connection getConnection()

{

try

{

return DriverManagergetConnection(url, user,

password);

}

catch(SQLException e)

{

eprintStackTrace();

}

return null;

}

public static void closeConnection(Connection con)

{

try

{

if(con != null)

conclose();

}

catch(SQLException e)

{

eprintStackTrace();

}

}

private static String url;

private static String user;

private static String password;

static

{

ResourceBundle bundle = ResourceBundlegetBundle("路径");

try

{

ClassforName(bundlegetString("driver"));

}

catch(ClassNotFoundException e)

{

eprintStackTrace();

}

url = bundlegetString("url");

user = bundlegetString("user");

password = bundlegetString("password");

}

}

网络通信可分为两种模式:TCP有连接的通信

UDP无连接的通信

依照上述的问题我可以理解为你是要进行有连接的通信。是要经过三次握手才能实现可靠的连接

第一次:建立连接时三次握手,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN(Synchronize Sequence Numbers)同步序列号。

服务器端即可使用:

Socket s=serverSocketaccept();

String clientIP=sgetInetAddress()toString();

这就实现了java服务器端获取到连接此服务器的客户端的IP了,你若想实现获取所有连接此服务器的客户端的IP,你可以把每次accept()返回的socket放进全局的Vector里面,然后在遍历这个vector方法就同上代码咯……

登陆验证成功后存入session,想要获取的话掉通过session获取

sessionput(key, value);

object object = sessionget(key);

用户信息一般放在session里面

requestgetHeader(“User-agent”)返回客户端浏览器的版本号、类型

getHeader(String name):获得http协议定义的传送文件头信息,

request getMethod():获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型

request getRequestURI():获得发出请求字符串的客户端地址

request getServletPath():获得客户端所请求的脚本文件的文件路径

request getServerName():获得服务器的名字

requestgetServerPort():获得服务器的端口号

requestgetRemoteAddr():获得客户端的IP地址

requestgetRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址

requestgetProtocol():

requestgetHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例

//也许有你想要的,前提是在项目布署运行起来后,在servlet中或controller中运行以下代码即可。

Systemoutprintln(thisgetClass()getResource("/"));//结果:file:/E:/work/service/tomcat7065/webapps/mvc_adminlte/WEB-INF/classes/

Systemoutprintln(SystemgetProperty("catalinahome"));//结果:E:\work\service\tomcat7065

SystemgetProperty("userdir");//结果:E:\work\service\tomcat7065\bin

Systemoutprintln(requestgetSession()getServletContext()getRealPath("/"));//结果:E:\work\service\tomcat7065\webapps\你的项目名称\

希望能帮到你!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java tcp中客户端不能接收到服务器的信息!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情