
println和 print的区别 还是参照javadoc比较准确,就是最后是否跟上一个换行。这种函数含义的解释,查手册是最准确的。
sgetOutputStream() 返回的结果 直接就是 OutputStream 这个类本身就是用于发送 byte[]的。
字符串转化成 byte[] 直接调用getBytes。
LZ应该详细阅读java手册。对于已经接触到的类 比如String,这种基本的,要看看它所有的函数实现。这就和学英语背单词一样,必须要有量的上去才行。
给你一个简单的例子,这样就是客户端不停的接收消息,你说的对,是通过循环在一直的读取。
---------------------------------------------------------------------------
import javaioInputStream;
import javaioOutputStream;
import javanetServerSocket;
import javanetSocket;
public class ScoketTest {
public static void main(String[] args) throws Exception {
new Server()start();
new Client()start();
}
}
class Server extends Thread {
private ServerSocket server = null;
public Server() throws Exception {
server = new ServerSocket(8888);
}
public void run() {
try {
while (true) {
Socket client = serveraccept();
OutputStream out = clientgetOutputStream();
outwrite("server to client : hello"getBytes());
outflush();
outclose();
clientclose();
sleep(1000);
}
} catch (Exception e) {
Systemoutprintln("server : " + egetMessage());
}
}
}
class Client extends Thread {
public void run() {
try {
while (true) {
Socket client = new Socket("localhost", 8888);
InputStream in = clientgetInputStream();
byte[] buff = new byte[4096];
StringBuffer sbuff = new StringBuffer();
int len = 0;
while ((len = inread(buff)) != -1) {
sbuffappend(new String(buff, 0, len));
}
inclose();
clientclose();
Systemoutprintln(sbufftoString());
sleep(1000);
}
} catch (Exception e) {
Systemoutprintln("client : " + egetMessage());
}
}
}
一个系统分为不同的模块,你的这个属于数据接收模块,保存到数据库库的属于数据持久化模块,这两个之间相互调用就能够达到你的目的,所以和你数据来源本身无关。
数据持久化的模块你可以看看java如何写入mysql数据库,通常是使用jdbc连接数据库,开始事务,然后执行insert into的sql语句,然后提交事务即可。网上例子很多,你可以参考。
以上就是关于java中怎么用TCP发送数据全部的内容,包括:java中怎么用TCP发送数据、java tcp协议传输,客户端怎么判断,服务端有没有来消息...,通过循环读取响应流吗、java接收TCP协议端口发送来的数据后怎么保存到mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)