一个弱弱的问题:在web页面中使用socket

应用场景:
类似于网盘一个web项目,通过浏览器可以查看到个人的文件资料,并且要实现文件的上传下载。
但是老大的要求是:用socket走自定义协议与服务器通信,不能再添加新的web服务器,因为现在的服务器端就是用的nginx。
我的理解就是相当于在web页面中使用socket与服务器通信,不知道对不对?
老大对web开发不懂,我说这个必须要用一个tomcat,他非说不行。
望web牛人给个指点啊?

4个回答

关于tomcat单点故障的问题,这个其实是可以解决的,既然nginx都可以集群,那tomcat也可以,集群的一个目的是提高处理能力,另外个目的就是避免单点故障。只是针对tomcat的webapp来说,集群相对复杂一些,如果能保持webapp在服务器端无状态化的话,那这种集群和nginx的就没有太大区别了。
要想不改变你目前的架构方式,又要采用socket与nginx通讯的话,我个人觉得不太可能,因为浏览器只能使用HTTP协议通讯,其他的通讯协议对浏览器来说都不是默认支持,即时使用websocket,那也需要服务器端支持。至于其他的协议的支持,一般都使用给浏览器增加插件,比如ActiveX,flash,或者applet等,不过这些技术现在都不提倡使用,在移动环境下更是不会用。
所以,我建议你和你老大说明一下,既然不想改变服务器端架构,而且目前也有了nginx,那直接采用http协议就好了,为什么一定要用socket通讯呢?他这样做的目的是什么?

[quote]用socket走自定义协议与服务器通信[/quote]
这里的“服务器”是指什么?
既然是通过网页访问,那肯定需要web服务器,目前你们的nginx难道只服务静态内容吗?只要是动态交互都需要应用服务器,无论是php,java,.net等。
你可以和你老大具体沟通一下,了解清楚他期望的实现方式,或者他的真正意图。

是的...servlet需要一个java容器来解释.

web socket在不同的浏览器表现可能有差异.只是可能哈,具体没用过.

你的nginx已经支持PHP了?那你完全可以用PHP搞定哈!

查阅一下相信你能搞定.

如果是我.我会把nginx与tomcat再拿来集成一下,用servlet来做.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Socket弱弱问题
请问在asp.net 中用Socket网络通信时用Request取出客户端IP地址会不会影响连接,主要是针对内网用户。
弱弱的问socket问题
我刚接触delphi网络编程,想问socket这方面rnrn我看的资料是delphi6,但是用的是delphi7rnrn在6里面写的是要用scktcomp 单元的东西,但是我怎么就没找到呢,是不是要自己装这个单元呢?rnrn而且我用了个rnrnconnect(socket1,addr,sizeof(addr))语句 告诉我连接错误rnrn自己在dos环境中finger自己的主机说不能连接,这个怎么办哦,rnrn自己要关什么服务呢?rnrn 是不是要在7里看indy clientrn和indy server这两个地方的单元啊,rnrn谢谢。。。。rnrn不够分再可以给,在线等
问一个关于Socket的弱弱的问题
本人在MSDN上查到的关于异步Send函数定义有三个参数:virtual int Send( const void* lpBuf, int nBufLen, int nFlags = 0 );rn为什么我见到工程中所用的send函数就两个参数:nSent=m_sConnectSocket.Send(LPCTSTR(m_strMsg),nLen);rn而且还没有编译错误,能够运行,为什么呢?本人基础差,请耐心解释
一个弱弱的问题.
在一个C语言上看到:rnstruct sturnrnint num;rnchar name[20];rnchar sex;rnfloat score;rn;rnstruct stu boy1,boy2;rnrn请问为什么要加上struct,是必须的吗?
一个弱弱的问题!
纯粹的oracle新手rn以前装了oracle9i,机器带不动,卸了rn现在装8i的,不知道8i的最低配置是多少rn创建一个数据库需要多大的空间(9i里面竟然有1G左右)rnrn谢谢!
一个弱弱的问题
定义一个指针时 写成int* pp,和int *pp,有什么区别么?
一个弱弱的问题。。。。。
今天在同学机子上运行一个DELPHI写的小程序。rn可是提示没有qtintf70.dll这个文件 。rn可是这个文件是在装了delphi才有的啊rnrn不应该因为这个而使delphi写的程序在不同机子上不能运行的呀。rn
◎一个弱弱的问题!◎
rn 请问大虾,函数符号“^”表示什么啊?(x^y)=?
弱弱的一个问题
templaternclass arrayrnpublic:rn explicit array(int size = DefaultSize);rn array(elemtype *_array ,int array_size);rn array(const array &rhs);rn virtual ~array()delete [] ia;rn rn bool operator==(const array&) const;rn bool operator!=(const array&) const;rn rn array& operator=(const array&);rn int size() const return_size;rn rn virtual elemtype& operator[](int index)return ia[index];rn virtual void sort();rn rn virtual elemtype min() const;rn virtual elemtype max() const;rn virtual int find(const elemtype &value) const;rn protected:rn static const int DefaultSize = 12;rn //这句编译时错了,系统提示:' DefaultSize':pure specifier can only be specified for functionsrn rn int _size;rn elemtype *ia;rn rn;
一个弱弱问题
为什么输入对 “+ = x /” 还是会执行 pt(" 输错啦! 请输入(+、-、x、/)%c\n",ch);rnrn#include rn#include rn#define pt printfrn#define line pt("\n=================================\n");rnrnusing namespace std;rnrn void getOperate(char *op);rn int isAccord(char);rnrnrnint main(void)rnrn rn rn line;rn pt(" 小型计算器 ");rn line;rn char operate = '\0';rn dorn rn pt("请输入运算符:");rn line;rn getOperate(&operate); rn rn rn rn while(operate!='n');rn rn char j;rn scanf(&j);rn return 0;rnrnvoid getOperate(char *op)rnrn rn dorn *op = getchar(); rn rn rn while(!isAccord(*op));rnrn rn //return '1';rnrnint isAccord(char ch)rnrn switch(ch)rn rn case '+':rn rn break;rn rn case '-':rn break;rn case 'x':rn break;rn case '/':rn break;rn rn return 1;rn rn rn rn pt(" 输错啦! 请输入(+、-、x、/)%c\n",ch);rn rn rn return 0;rnrn
一个弱弱的问题..
#include rnrnint main(int argc,int *argv[])rnrn printf("%d\n",*argv[1]);rn printf("%d\n",*argv[2]);rn printf("%d\n",*argv[3]);rn return 0;rnrn我在CMD下输入:a 1 4 6rnrn怎么好像输出的是地址啊?该怎么办?
弱弱的一个问题~~
rnrn哪位大大能详细解析一下吧=-= 搞不懂那个输出的结果
一个弱弱的问题;
我怎么在j2me下调用一个声音文件,怎么都不出声音,郁闷死我了,不知道哪位大哥能否把你的代码给我借鉴一下,学习一下!
一个弱弱的问题?
class Arnrnpublic:rnint a;rnvoid f()printf("%d",a);rnrnrnrnvoid main()rnrnA m;rnm.a; //(1)rn(&m)->a; //(2)rnrn请问(1)与(2)有何区别?
一个弱弱的问题???
我刚学做WEB页,我的问题是:rn我要做一个查询页和显示页。查询页中有一个FORM里面有两个SELECT,SELECT中的OPTION的value和text从数据库中取来填写。所以它是动态生成的。当我点击FORM的查询按钮,它将调用显示页从数据库中做选择查询并将结果显示出来。rn我想将两个页面放在一个页面中,这里采用FRAMESET设置。我将查询页放在左面的框架里,显示页放在右面的框架里。rn问题是当我点击查询页里查询按钮时,显示页却在左框架中显示,而我希望它应在右框架中显示。请问高手我应该怎么做???
一个弱弱的问题……
为什么我的VC6.0里面没有下文的帮助呢?rn例如输入“pList_tmp->”之后应该弹出一个下拉框,里面有选择的。别人的自己上都有,就我没有。rn5555~~rn表笑我~~
弱弱一个问题
最近仔细地看了一下红黑树,和AVL对比一下,除了实现红黑树更能够挑战你的编程技术和提高你处理特殊情况之外,和AVL并没有太多的区别,删除插入搜索的时间复杂度都一样rnrn相比之下我更喜欢AVL,简单的旋转就可以搞问题,情况也仅限于LL,LR,RL,RRrn而红黑所讨论的情况LLr,LLb,……,不仅有旋转,还有变色。rnrn但是为什么微软在MFC里都用红黑树,不用AVL呢?rn难道仅仅是因为红黑树编程实现更加繁琐?rn但是红黑比AVL效率高在哪里呢?
一个弱弱的问题:关于extern的使用
extern为外部应用的定义,适用于定义变量和函数,对变量是可以理解的,如果不用extern会出现重复定义错误。但对于extern void fun()这样的方法真是起到了外部应用的作用了么?rn 我在A.c中写一个void fun(),在A.h中写入extern void fun() 或者 void fun() 。在B.c中引用A.h后,都能正常调用,编译也没有问题。rn 所以是不是说明extern +函数 其实是没有任何意义的(相当于 void fun()可以被重复定义,只要惟一一个.c文件中写它的具体实现就可以了)
一个弱弱的问题!sos
在汇编中碰到这样一句rn@1= $rn请问$在汇编中是不是有什么特殊的意义?rn
一个貌似弱弱的问题
我装了ACTIVX控件 Mapx后再装MapObject,但前者找不到了,想在BCB6中再装一次MapX,但提示"TMap" is already installed.后remove,仍不行。rn这里要问的是,大家是如何卸载Activex控件,之后才能重装?
问一个弱弱的问题
在别人机器上建了个SQL SERVER(2000),用的是winnt认证 rn怎样从自己机器上访问(自己机器上也装了SQL SERVER2000)?
弱弱的问一个问题...
下面这个小程序javac成功,但java时显示Exceptiong in thread “main” java.lang.arrayIndexOfBoundsException:3 at welcome.main(welcome.java:7),为什么?谢谢!rn------------------------------------------------------------------rn public class welcomernrn public static void main(String[] args)rn String[] greeting=new String[3];rn greeting[1]="This test1";rn greeting[2]="This test2";rn greeting[3]="This test3";rn rn for(int i=1;i<=3;i++)rnSystem.out.println(greeting[i]);rnrn
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview