导航:首页 > 编程语言 > java高性能socket服务器

java高性能socket服务器

发布时间:2021-03-04 00:58:51

1. 请教一下用java和用C实现socket网络通信哪个效率更高高分求,在线等。

肯定C的效率高,java舍掉了一些效率,但是他的优点是跨平台。

2. java编写socket服务端有什么优缺点

根据异常提示:"Address already in use : JVM——Bind " 。地址已被绑定,你查看下是否有未关闭的端口9999已被占用,你应该运行过一次相同端口号的程序,但是未关闭。

3. java、c、c++、php或者其他编程语言,哪种语言做socket服务器端性能好。

服务器的核心一般都是C和汇编因为效率高~
外层封装看哪个支持的资料多用哪个

4. java socket多线程问题,我写了一个socket tcp服务端,高手来进来看下,谢啦。是关于多客户端并联的问题

不对,你应该单独写个一个处理线程类,如果需要的连接就new一下,因为每次new一下,专线程的名字都不一样,但属如果后期要用到销毁的时候,最好写一个hasMap存储这些线程,当下线时,就根据values来销毁或遍历一下hasMap,获取到线程的名字,然后就destroy();
韩顺平java视频教程里的qq项目里有详细的解说!

5. 编写高性能Java服务器,应该选用何种方案

所谓的高性能其实都是和业务紧密相关的,比如处理时间长短,长链接还是短链接,内连接的数量等。容
根据业务特性来选择是否用BIO或者NIO,比如NIO擅长处理的是海量连接。
另外java.util.concurrent的线程池模型还是java.nio中的Selector模型,这两者并不冲突,况且这两者解决的问题是不一样的。线程池模型解决的是连接创建的消耗问题,Selector模型解决的是IO复用等问题。。

6. 用java写一个socket的服务器在电脑上运行

理论上可以,同在一个局域网,

7. java Socket编程实现的最简单的多线程Web服务器

import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Test {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(888);
while(true) {
Socket s = server.accept();
Processer p = new Processer(s);
Thread t = new Thread(p);
t.start();
}
}
}

class Processer implements Runnable {
private Socket socket;

public Processer(Socket s) {
// TODO Auto-generated constructor stub
this.socket = s;
}
@Override
public void run() {
try {
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
out.println("HTTP/1.0 200 OK");
out.println("Content-Type:text/html;charset=utf-8");
out.println();
out.println("<h1> Web服务器测试成功!</h1>");
out.close();
} catch(Exception ex) {
ex.printStackTrace();
} finally {
try {
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}
}

8. 关于JAVA非阻塞SOCKET服务器写一个对战游戏服务器的实例。

直接用数组或者集合来保存。
服务端socket在线程中等待连接,一旦获取到连接就保存返回的socket句柄,启动一个新的线程来从socket中读取消息。

9. 求java写的多线程socket端口监听服务器端程序,要代界面的.

业务需要这么复杂吗???如果你要实现服务器和客户端都可以向对方发送消息,而不等待对方应答,只需要把InputStream和OutputStream分别放在两个不同线程里就行了,即是说把接收流与发送流分别用一个线程监听处理。如果要实现不分客户端服务器的话,用UDP通信即可
补充回答:如果不涉及到MIME,只是收发简单文本邮件。就会比较简单。因为就像你说的,smtp和pop3协议就是文本格式的。你用Socket建立连接后,就像读文件一样,一行一行的读数据,然后按照协议分析数据格式。例如如果开始时USER那么后面可能跟的就是用户等。
就是一个字符串解析和匹配的过程。网上好像有这类代码,自己找一个学习一下。我以前用C在68k上作过,不是很难。不过代码已经没有了。

你的是邮件客户端,功能类似于outlook,foxmail等,如果你能上网,就不需要邮件服务器,直接用自己的邮件账号来测试,例如如果你有一个sina的邮件账户,就可以从sina服务器收发邮件。
不过为了测试方便,还是上网去收一个邮件服务器把。例如foxmail server等。网上有教程,可以配置好的。

对于编程,既然要求用socket编写,那么就要熟悉java的socket编程,这部分倒是很简单。可能还需要看看多线程部分。

另外,你需要学习一下, smtp和pop3这两个网络协议的内容,因为你需要解析这两个协议。如果需要收发代附件的,还需要看mime的内容,不过估计不需要。

其实java有自己的类库javamail,可以实现手法邮件,功能很强大。不过既然要求必须用socket,那就不能这个了。

说的太罗嗦了。总结一下:
1)配置邮件服务器,搭建测试环境
2)熟悉java的socket编程、 Swing编程(编写界面)、多线程(选用)
3)熟悉smtp和pop3的内容(内容很多,了解基本的就可以)
网上应该有类似代码,可以用来参考。

10. java的客户端用的是Socket,服务器端用SocketChannel,这两种能实现通信么 说得比较白,望理解

Socket 和ServerSocke 是一对 他们是java.net下面实现socket通信的类
SocketChannel 和ServerSocketChannel是一对 他们是java.nio下面实现通信的类 支持异步通信

服务器回必须先建答立ServerSocket或者ServerSocketChannel 来等待客户端的连接
客户端必须建立相对应的Socket或者SocketChannel来与服务器建立连接
服务器接受到客户端的连接受,再生成一个Socket或者SocketChannel与此客户端通信

不过Socket和SocketChannel可以通过 socket.channel() SocketChannel.socket() 方法相互转换
同理ServerSocket 和ServerSocketChannel 也可以相互转换

阅读全文

与java高性能socket服务器相关的资料

热点内容
电影 坐大巴被线切割 浏览:699
莆田电影院购票 浏览:809
专门看粤语电影的网站 浏览:995
主角是天才儿童的小说 浏览:275
韩国电视剧爱情推理片免费播放 浏览:995
戴尔笔记本热点win10 浏览:605
足球男孩电影 浏览:493
周星驰粤语电影网站 浏览:475
咱的电影网动漫推荐 浏览:872
在线观看免费的网站 浏览:909
电影《房间》结局 浏览:503
泰国电影恐怖片免费观看 浏览:828
古装电影大尺度推荐 浏览:225
u盘文件丢失了能找回吗 浏览:969
真四轴编程基本功那个怎么做的 浏览:875
檬科技机器人编程教育怎么样 浏览:151
288ff 浏览:701
史进替天行道演员表 浏览:911
扫描仪找不到对应的文件夹 浏览:810
写床事很详细的小说 浏览:728

友情链接