社区
网络编程
帖子详情
请问2个进程间通信,服务器和客户端的端口号一定要相同吗??
chenzhg
2007-10-09 04:14:47
如题~~
比如用客户端的800端口能访问服务器的500端口吗?
初学网络编程
...全文
5630
15
打赏
收藏
请问2个进程间通信,服务器和客户端的端口号一定要相同吗??
如题~~ 比如用客户端的800端口能访问服务器的500端口吗? 初学网络编程
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fangext520
2012-06-06
打赏
举报
回复
也有个类似的问题就是第一次给服务器发数据的时候IP和端口都是0然后以后的都正常了。。这是为什么呢。。
混少年
2012-03-25
打赏
举报
回复
1
茅舍顿开啊谢谢各位前辈
yueshenfeng
2009-01-17
打赏
举报
回复
那请问有没有简单一点的例子啊?
znsky
2008-07-17
打赏
举报
回复
俺也正遇到了这方面的疑问
学到了很多东西,谢谢各位前辈
neversaydie518
2007-10-13
打赏
举报
回复
显然你每个进程accept后生成套接字是不同的吧
yaozijian110
2007-10-12
打赏
举报
回复
3
服务器和客户端都有端口号,但是,服务器的端口号是重要的,因为客户端只有了解了服务器的地址和端口号,才可以连接到它(即使是采用UDP传输数据,也需要指定发送目标的地址和端口号);而客户端的端口号是无关紧要的,一般由操作系统自动分配。
服务端怎么知道和客户端的哪个进程连接???
---------------------------------------------------------
对于TCP,服务器在客户端连接后,会在监听套接字之外另外生成一个新的套接字,表示与客户端的连接,这个套接字了解客户端的地址和端口号,从而可以区分是哪个客户端;
对于UDP,服务器在收到UDP数据时,也了解数据来自什么地址和端口,也可以区分是哪个客户端。
从基本的网络概念来说,网络层(IP)负责两个主机间的通信,用IP地址区分主机;传输层(TCP和UDP)处理两个进程间(可以是在同一台机器中的两个进程,也可以是不同主机中的两个进程)的通信,用端口号区分进程。两者合起来就是,用 IP地址+传输层协议+端口号 来区分与谁进行通信。(传输层协议就是指TCP或者UDP,也可以是别的传输层协议,因为互联网协议栈是个开放的结构,其他传输层协议也可以利用IP作为网络层提供的服务)
TurkeyCock
2007-10-11
打赏
举报
回复
如果用的是UDP协议,服务器在接受数据的时候就可以得到客户端的IP和端口(recvfrom方法里有个参数),只要客户端socket不关闭,服务器给这个端口发送数据就可以拉~
int recvfrom(
SOCKET s,
char FAR* buf,
int len,
int flags,
struct sockaddr FAR *from, //客户端信息
int FAR *fromlen
);
如果用的是TCP协议,就必须在客户端也侦听一个端口了~
huanjieshuijing
2007-10-11
打赏
举报
回复
不需要,
服务端怎么知道和客户端的哪个进程连接???
好象SOCKET编程里不用设置客户端的端口号啊
对于客户端来说,当它发起连接请求,在服务器段就保存了客户端的IP地址和客户端的信息,这样对于服务器来说,一旦连接建立以后,实际上它就已经保存了客户端的IP地址和端口号的信息,就可以利用套接字调用send/recv函数与客户端进行通信
chenzhg
2007-10-10
打赏
举报
回复
回楼上
我的意思是,服务器必须指定端口这可以理解,比如我们架设tomcat和iis的WEB服务器,分别设置8080和80,这2个进程同样作为服务器是互不干扰的.
我的问题是:
如果我在同一个IP地址的机器上启动2个浏览器(2个客户端进程),
这里客户端并没有绑定自己的端口,
那么当连接服务器后,(注:服务器并不知道和哪个进程连接,因为端口没有绑定!)
服务器要给我的机器发送信息,就不知道给哪个进程发了,那么A浏览器里就有可能显示B的内容吗?????
另外:我想请教,在windows下的网络编程中,端口号和进程是唯一确定的吗?
star119119
2007-10-10
打赏
举报
回复
客戶端 你不設定的話 就是隨即分配的,你設定了就是 用你設定那個。
henanlsl
2007-10-10
打赏
举报
回复
端口两者都要用,只是客户的常省.有时不能省,看情况.
WizardK
2007-10-09
打赏
举报
回复
1
能,服务器端的端口号和客户端的端口号没有关系
一般服务器是需要BIND指定端口号的,客户端可以BIND也可以不BIND(BIND后关闭SOCKET需要一段时间由系统释放这个端口,所以客户端一般不BIND)
另外,你这个进程间通讯是什么意思?
第1季
2007-10-09
打赏
举报
回复
服务器端需要指定端口,只有这样客户端才知道确定连接那个端口。 而客户端连接服务器程序后占用的端口,默认是由系统自动分配的系统中可用的端口,(这个端口号码,可以通过服务端调用accept函数得到)
服务器端(端口8000) - 客户端1(X)
- 客户端2(XX)
- 客户端3(XXX)
- ......
我们可以不用去管他
wltg2001
2007-10-09
打赏
举报
回复
端口号好像是对服务器端而言的吧,客户端也要吗?
chenzhg
2007-10-09
打赏
举报
回复
服务端怎么知道和客户端的哪个进程连接???
好象SOCKET编程里不用设置客户端的端口号啊
Android Socket编程
客户端
服务器
端源码
一个简单的Android Socket 编程实例,有简单的
客户端
,
服务器
端源码。
VC几个网络
服务器
端编程模型的示例代码
我的文章的配套代码,关于VC
服务器
端网络编程模型的,详情请见http://blog.csdn.net/PiggyXP/archive/2004/09/23/114883.aspx
Unity3DSocketDemo
原文地址:http://blog.csdn.net/genius840215/article/details/7411749
服务器
与
客户端
进程之间
端口号
联系
服务器
和
客户端
都有
端口号
,但是,
服务器
的
端口号
是重要的,因为
客户端
只有了解了
服务器
的地址和
端口号
,才可以连接到它(即使是采用UDP传输数据,也需要指定发送目标的地址和
端口号
);而
客户端
的
端口号
是无关紧要的,一般由操作系统自动分配。 服务端怎么知道和
客户端
的哪个进程连接??? --------------------------------------------------
聊一聊
服务器
和
客户端
会话过程中的端口
之前在TCP/IP的网络通信的学习中,主要关注的都是高并发,高性能的方面,忽略了一些基本的概念,特别是端口这个东西,这个东西在
服务器
开发过程中可能看起来也不是很麻烦,在
服务器
上就是一个bind(),在
客户端
指定一下目标端口就行了,也没有太深入理解其中的东西,今天就来好好的总结梳理一下。还是以
服务器
和
客户端
的会话为例,什么是端口呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只...
网络编程
18,364
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章