c\s通信 socket

AnshuWang 2010-12-10 09:00:34
用socket向服务器发送多个数据是用异步非阻塞通信吗
最好给个客户端代码
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lost_guy_in_scut 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 preferme 的回复:]
如果是一个客户端同时向多个服务器端发送多个数据,可以考虑使用异步非阻塞模式进行发送。

异步非阻塞模式,一般用于待处理的连接过于多,而线程不宜过多的场景下。
所以,一般来讲,服务端程序会考虑采用。
客户端采用的场景,一般是在P2P软件或是下载工具软件当中。

除此之外,一般 使用同步阻塞模式进行信息的传输即可。
[/Quote]
哦。
AnshuWang 2010-12-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 preferme 的回复:]

如果是一个客户端同时向多个服务器端发送多个数据,可以考虑使用异步非阻塞模式进行发送。

异步非阻塞模式,一般用于待处理的连接过于多,而线程不宜过多的场景下。
所以,一般来讲,服务端程序会考虑采用。
客户端采用的场景,一般是在P2P软件或是下载工具软件当中。

除此之外,一般 使用同步阻塞模式进行信息的传输即可。
[/Quote]
你有同步阻塞的代码 可以贴一下吗
冰思雨 2010-12-11
  • 打赏
  • 举报
回复
如果是一个客户端同时向多个服务器端发送多个数据,可以考虑使用异步非阻塞模式进行发送。

异步非阻塞模式,一般用于待处理的连接过于多,而线程不宜过多的场景下。
所以,一般来讲,服务端程序会考虑采用。
客户端采用的场景,一般是在P2P软件或是下载工具软件当中。

除此之外,一般 使用同步阻塞模式进行信息的传输即可。
Jlins 2010-12-10
  • 打赏
  • 举报
回复
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

/**
* 客户端
*
* @author Administrator
*/
public class Client {
public static void main(String[] args ) throws Exception {
Socket client = new Socket("localhost", 8888);
InputStream fis = new FileInputStream(new File("d:/table1.txt"));
OutputStream out = client.getOutputStream();

int n = 0;
while ((n = fis.read()) != -1) {
out.write(n);
}
fis.close();
out.close();
}
}

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
* 服务器端
*
* @author Administrator
*/
public class Server {
public static void main(String[] args ) throws Exception {
ServerSocket server = new ServerSocket(8888);
Socket recive = server.accept();
InputStream in = recive.getInputStream();
OutputStream fos = new FileOutputStream("d:/abc.txt");

int n = 0;
while ((n = in.read()) != -1) {
fos.write(n);
}
fos.flush();
in.close();
fos.close();
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧