关于socket编程的小总结
来源:互联网 发布:js target属性值 编辑:程序博客网 时间:2024/06/05 08:11
最近在写一些socket小程序,因为是初次写,所以在一些细节上遇到一些问题,这里说一下我对其中某些问题的理解,如果不正确,欢迎指正。
在我的程序中,我想把发送和接收数据的操作分别放在两个线程中,即发送线程和接收线程。
在最初的实现中,我的两个线程使用的是共同的一个socket以及端口号,接收和发送信息到服务器。服务器通过获得的我的ip及端口号,返回给我发送到服务器的字串。
在实验过程中,发现我启动的2个线程都正常启动,但是只有发送线程在工作,接收线程在select socket时,检测不到有哪个socket是可读的。
1.这是因为socket只能同时进行一种发送或者接收操作,我的写操作率先占用了这个socket,读操作就不能进行了。(有一点不太明白,我的写操作是每隔100ms才写一次,在这个时间段,读操作也“抢占”不了socket吗?)
2.对于这个问题,我试着创建了2个socket,即读和写分别占用一个。 起初绑定在同一个ip和端口上,莫名的成功了,之所以说莫名,是因为后来一直失败,查看msdn知道了,一个ip端口只能绑定一个socket(通常每个套接字地址 (协议/网络地址/端口)只允许使用一次。)。后来绑定到不同的端口上,实验了一下,可以了。
3.为了方便服务器端后续的操作,最终选择了使用一个mutex的操作。
一上午就为了这个,自我感觉挺值的。因为以前一直不喜欢socket编程,现在自己动手操作一下,慢慢来,也不会很难的。
如果我哪里说错了,欢迎指正,一起交流。
0 0
- 关于socket编程的小总结
- 关于socket编程的一点小思考
- 关于C编程的小总结
- 关于Matlab编程的一些小总结
- 关于socket.shutdown的一个小的错误总结
- 插播一条关于Socket编程的小程序,
- 黑马程序员 关于Socket编程 网络聊天的总结
- 关于socket编程中io流的总结
- linux下socket编程小总结
- 关于socket编程相关知识点总结
- 关于Socket编程的几篇博文
- Java的Socket编程总结
- 关于SOCKET的一些总结
- 关于socket的一些总结
- SOCKET编程的小细节和误区
- Socket编程 一个小的聊天程序
- 关于socket网络的一个小问题
- 关于android的socket练手小程序
- vlc的应用之六:简单的视频点播系统(B/S)的实现
- JavaScript获取键盘代码(实例搜索跳转)
- 获取当天是星期几
- Android应用程序消息循环
- 第十七周项目4-进制转化
- 关于socket编程的小总结
- C++开发者都应该使用的10个C++11特性
- Circular Reference with Blocks
- 基于JavaScript的前端MVC框架
- DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)之一
- 内核对象与内核对象的句柄——2013年12月20日(学习总结)
- Win7下安装配置tomcat,java运行环境
- C++箴言:必须返回对象时别返回引用
- 6.0 Introduction (Concurrency)