Android socket 相同IP地址不同端口号收接发数据。socket被阻塞 5C

Android 一个线程通过WebVew(URL)获取网页视频,另一个线程通过socket发送命令出去。URL解析出来的
IP地址与socket的IP地址相同。端口号不同。视频可以获取,发送命令一直阻塞在socket初始化。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
socket被阻塞的问题
程序目的是多线程接收客户端连接,大致如下rnrn----------------------主线程-----------------------------rn[code=csharp]rnwhile(true)rnrn 同步阻塞等待客户端连接;rn新建一个子线程,用于处理连接的客户端;把客户端socket传入子线程中;rn用一个list,记录连接的socket;rnrnrnrn-------------------------子线程----------------------------rn设置了ReceiveTimeout 和SendTimeout rntryrnrn接收数据rnrncatchrnrn 超时;rn关闭连接;rn退出线程函数;rnrn[/code]rnrnrn现在的现象是如果超时了,能捕捉到超时异常,然后也退出了线程,但是主线程就没有新的挂起的线程可以接收,比如说,当异常时,主线程中待接收的客户端有1,2,3,然后以后能监测到的客户端也只有1,2,3,要过很久才有新的客户端进来,具体时间不明,请问这是什么原因?难道是客户端那边还认为还在连接,但是我这边输出的socket状态是关闭了的啊
socket接发数据的多线程问题
IPAddress SIP = IPAddress.Parse(txtIP.Text.Trim());rn int SPort = Convert.ToInt32(txtPort.Text.Trim());rn IPEndPoint iep = new IPEndPoint(SIP, SPort);rnrn socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rn socket.Connect(iep);rn btnListen.Enabled = false;rn btnClose.Enabled = true;rn btnSend.Enabled = true;rn toolStrip1.Items[0].Text = string.Format("连接0:1成功...",txtIP.Text,txtPort.Text);rn timer1.Start();//timer的tick如下rnrn private void timer1_Tick(object sender, EventArgs e)rn rn string recMsg = socket.Receive(byteMessage, SocketFlags.None).ToString();rn string str = Encoding.ASCII.GetString(byteMessage);rn string tmp = byteMessage[0].ToString();rn txtDataFlow.AppendText(tmp);rn receiveMsg = receiveMsg + str;rn txtMsg.AppendText(str); rn rnrn采用socket连接主机,上面的代码能接收到数据,有2个问题:rn1 当主机发出数据后,客户端开始接受,接受完后,客户端就像死机了一样,主机再次发送数据后,又能正常接收,循环...加入多线程后,不会有“死机”现像,但接不到数据了...帮帮忙...rn2 上面的写法,有没有算法,可以一次性将接收到数据换成字符串,不要一个字母一个字母的接收,就是如何将byte一次接受后,转换string.rn
Socket多线程接发指令
基础知识 多线程 消息机制 基于TCP协议的网络通信 创建多线程的方法 一种是,继承Thread类 Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——用于启动线程 另一种是,实现Runnable接口 实现Runnable接口,让类实现Runnable接口,然后把run方法单独提出来 两种方法的区别: Callable、Fut
Socket ip地址问题
[code=C#]rnusing System;rnusing System.Collections.Generic;rnusing System.Text;rnusing System.Net;rnusing System.Net.Sockets;rnnamespace serverrnrn class Programrn rn static void Main(string[] args)rn rn int port = 2000;rn string host = "127.0.0.1";rnrn /**////创建终结点(EndPoint)rn IPAddress ip = IPAddress.Parse(host);//把ip地址字符串转换为IPAddress类型的实例rn IPEndPoint ipe = new IPEndPoint(ip, port);//用指定的端口和ip初始化IPEndPoint类的新实例rnrn /**////创建socket并开始监听rn Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个socket对像,如果用udp协议,则要用SocketType.Dgram类型的套接字rn s.Bind(ipe);//绑定EndPoint对像(2000端口和ip地址)rn s.Listen(0);//开始监听rn Console.WriteLine("等待客户端连接");rnrn /**////接受到client连接,为此连接建立新的socket,并接受信息rn Socket temp = s.Accept();//为新建连接创建新的socketrn Console.WriteLine("建立连接");rn string recvStr = "";rn byte[] recvBytes = new byte[1024];rn int bytes;rn bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//从客户端接受信息rn recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);rnrn /**////给client端返回信息rn Console.WriteLine("server get message:0", recvStr);//把客户端传来的信息显示出来rn string sendStr = "ok!Client send message successful!";rn byte[] bs = Encoding.ASCII.GetBytes(sendStr);rn temp.Send(bs, bs.Length, 0);//返回信息给客户端rn temp.Close();rn s.Close();rn Console.ReadLine();rn rn rn rnrnrn[/code]rnrn这条Socket代码不能用外网ip地址(在网上查找本机ip地址,或查网址ip地址),rn[color=#FF0000]错误提示:在其上下文中,该请求的地址无效[/color]rn但能用127.0.0.1,我在路由设置的:192.168.1.2rn那个前辈知道那里的问题,谢谢
安卓开发之socket的IP地址
1、IP地址获取      socket.getInetAddress():本客户端的IP地址              返回:/192.168.1.108      socket.getLocalAddress():本服务器的IP地址              返回:/192.168.1.111     socket.getLocalSocketAddress():本服务器的IP地址+...
socket阻塞
客户端: connect: 需要TCP三次握手,所以是阻塞的
socket 阻塞
各位: rn 请教一个问题,如何在使用sen(),recv()函数时候,将通信方式设置为socket的阻塞方式呢?是通过send()函数的返回值吗?那么,recv()函数如何将协议栈清空呢?rn 感谢!
socket的阻塞
我在写一个服务端和客户端通过socket的udp通信的程序.实现和网上的例子差不多,服务端是先bind某个端口,然后用recvfrom阻塞等待接收客户端的数据,接收到数据后再用sendto向客户端发送应答数据;客户端启动后就用sendto向服务端发送数据,然后用recvfrom等待服务端的应答.rnrn现在的问题是,当服务端先启动时,通信正常;客户端先启动的时候,到了recvfrom的时候就直接返回-1的错误而并没有阻塞等待服务端的应答,这是为什么?rnrn另一个相同的帖子:http://community.csdn.net/Expert/topic/5776/5776223.xml?temp=.9725305
socket的阻塞与非阻塞
C/S模型在企业级的软件开发中非常常见,高并发网络通讯更是很多项目的核心模块,学好socket 网络编程显得尤为重要,本课程分为TCP/IP 协议、socket基础与进阶的异步通讯模型三个部分,通过浅显易懂的代码与讲解,让你的C++网络编程能力得到质的飞跃,具备开发高并发服务器的能力!
socket阻塞与非阻塞
socket阻塞与非阻塞
阻塞socket和非阻塞socket(一)
刚开始做项目时,要用到socket通信。那时为了弄清socket编程做了几个实验,主要是针对send和recv在几种特殊的情况下的返回值。 阻塞socket:    特殊情况(1):在接收端和发送端正常频繁的接受和发送时,突然关闭接收端的socket(优雅的关闭,调用closesocket函数),此时的发送端的send函数返回-1,WSAGetLastError 的编码为10054.代表W
阻塞socket和非阻塞socket(二)
非阻塞socket: 一般在项目中我们很多情况下都是有多个socket传输数据,而管理多个socket有几种I/O模型。如select模型、WSAAsyncSelect模型、WSAEventSelect模型、Overlapped I\O模型、完成端口等等。 根据项目的具体的情况选择相应的I\O模型。我在项目中用到最多的就是WSAAsyncSelect模型、WSAEventSelect模型这
android socket read阻塞问题
我的目的是android仿真器(client)发送消息给服务器,服务器收到信息后再将收到的消息的内容 发回clientrn但是服务器必须要执行socket.shutdownOutput();才可以read,否则就一直read阻塞.rnserver code:rn[code=java]rnrn//package com.android.net;rnrnimport java.io.IOException;rnimport java.net.ServerSocket;rnimport java.net.Socket;rnimport java.util.ArrayList;rnimport java.util.List;rnrnimport java.io.BufferedReader;rnimport java.io.BufferedWriter;rnimport java.io.InputStream;rnimport java.io.InputStreamReader;rnimport java.io.OutputStream;rnimport java.io.OutputStreamWriter;rnimport java.io.PrintWriter;rnrnrnpublic class java_server rnrnrn public static void main(String[] args) throws IOException rn ServerSocket serivce = new ServerSocket(30000);rn while (true) rn //等待客户端连接rn Socket socket = serivce.accept();rn new Thread(new AndroidRunable(socket)).start();rn rn rnrnrnrnrnrnrnrnrnrn class AndroidRunable implements Runnable rnrn Socket socket = null;rnrn public AndroidRunable(Socket socket) rn this.socket = socket;rn rnrn @Overridern public void run() rn // 向android客户端输出hello worildrn String line = null;rn InputStream input;rn OutputStream output;rn String str = "hello world!";rn try rn //向客户端发送信息rn output = socket.getOutputStream();rn input = socket.getInputStream();rn BufferedReader bff = new BufferedReader(rn new InputStreamReader(input));rn output.write(str.getBytes("gbk"));rn output.flush();rn //半关闭socket rn socket.shutdownOutput();rn //获取客户端的信息rn while ((line = bff.readLine()) != null) rn System.out.print(line);rn rn //关闭输入输出流rn output.close();rn bff.close();rn input.close();rn socket.close();rnrn catch (IOException e) rn e.printStackTrace();rn rnrn rnrnrnrn[/code]rnrnrnrnclient code:rn[code=perl]rnpackage com.example.android_client;rnimport java.io.BufferedReader;rnimport java.io.IOException;rnimport java.io.InputStreamReader;rnimport java.io.OutputStream;rnimport java.net.InetSocketAddress;rnimport java.net.Socket;rnimport java.net.SocketTimeoutException;rnrnimport android.app.Activity;rnimport android.os.Bundle;rnimport android.os.Handler;rnimport android.os.Message;rnimport android.view.Menu;rnimport android.view.View;rnimport android.view.View.OnClickListener;rnimport android.widget.Button;rnimport android.widget.EditText;rnimport android.widget.TextView;rnrnpublic class MainActivity extends Activity rn Socket socket = null;rn String buffer = "";rn TextView txt1;rn Button send;rn EditText ed1;rn String geted1;rn public Handler myHandler = new Handler() rn @Overridern public void handleMessage(Message msg) rn if (msg.what == 0x11) rn Bundle bundle = msg.getData();rn txt1.append("server:"+bundle.getString("msg")+"\n");rn rn rnrn ;rnrn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn txt1 = (TextView) findViewById(R.id.txt1);rn send = (Button) findViewById(R.id.send);rn ed1 = (EditText) findViewById(R.id.ed1);rn send.setOnClickListener(new OnClickListener() rnrn @Overridern public void onClick(View v) rn geted1 = ed1.getText().toString();rn txt1.append("client:"+geted1+"\n");rn //启动线程 向服务器发送和接收信息rn new MyThread(geted1).start();rn rn );rnrn rnrn class MyThread extends Thread rnrn public String txt1;rnrn public MyThread(String str) rn txt1 = str;rn rnrn @Overridern public void run() rn //定义消息rn Message msg = new Message();rn msg.what = 0x11;rn Bundle bundle = new Bundle();rn bundle.clear();rn try rn //连接服务器 并设置连接超时为5秒rn socket = new Socket();rn socket.connect(new InetSocketAddress("192.168.1.3", 30000), 5000);rn //获取输入输出流rn OutputStream ou = socket.getOutputStream();rn BufferedReader bff = new BufferedReader(new InputStreamReader(rn socket.getInputStream()));rn //读取发来服务器信息rn String line = null;rn buffer="";rn while ((line = bff.readLine()) != null) rn buffer = line + buffer;rn rn rn //向服务器发送信息rn ou.write("android 客户端".getBytes("gbk"));rn ou.flush();rn bundle.putString("msg", buffer.toString());rn msg.setData(bundle);rn //发送消息 修改UI线程中的组件rn myHandler.sendMessage(msg);rn //关闭各种输入输出流rn bff.close();rn ou.close();rn socket.close();rn catch (SocketTimeoutException aa) rn //连接超时 在UI界面显示消息rn bundle.putString("msg", "服务器连接失败!请检查网络是否打开");rn msg.setData(bundle);rn //发送消息 修改UI线程中的组件rn myHandler.sendMessage(msg);rn catch (IOException e) rn e.printStackTrace();rn rn rn rnrn @Overridern public boolean onCreateOptionsMenu(Menu menu) rn // Inflate the menu; this adds items to the action bar if it is present.rn getMenuInflater().inflate(R.menu.main, menu);rn return true;rn rnrnrn[/code]rnrnlayout:rn[code=php]rnrnrn rn rn rn rn rnrnrnrnrn[/code]rnrnrnmanifest:rnrn[code=php]rnrnrnrn rnrn rn rn rn rnrn rn rn rn rn rnrnrn[/code]
关于socket收数据的问题
当二台机器已经建立了TCP连接,如果对方发来一个数据包,这时我不接收此数据包而把连接断开,重新建立连接后还能收到此数据包吗?
关于socket收数据的问题?
我也来顶一下,顺便问个问题啊?:(rn为什么?我的socket连接上后就是收不到数据,错误号10038---->socket无效,大家看看我的代码rn好嘛,郁闷死了:(rnLRESULT CRundllDlg::OnStMessage(WPARAM wParam,LPARAM lParam)rnswitch(lParam)rn rn case FD_ACCEPT:rn int tmp;rn tmp=sizeof(client);rn if(this->ss=accept(this->Server_sock,(SOCKADDR*)&client,&tmp)==INVALID_SOCKET )rn rn AfxMessageBox("accept fialed");rn rn AfxMessageBox(_itoa(ntohs(client.sin_port),a,10));//这里弹出的内容是正确的rn AfxMessageBox(inet_ntoa(client.sin_addr));rn break;rn case FD_READ:rn //fd_set fdr;rn //FD_ZERO(&fdr);rn //FD_SET(ss,&fdr);rn while(1)rn rn char a[10];rn Len=recv(this->ss,abuffer,sizeof(abuffer),0);rn if(Len==SOCKET_ERROR)rn int temp=GetLastError();rn AfxMessageBox(_itoa(temp,a,10));rn break;rn rn if(Len>0)rn rn AfxMessageBox("Write");rn rn rn break;rn return false;rnrn客户端发送是成功的,难道在accept时还要做什么操作?小弟第1次用socket又没书(我看书上也就这么写的:))请高人指点指点啊?谢谢rn最好在给点代码啊,:)
socket连续send数据阻塞
用MFC搭一个界面与DSP进行通信,连续调用send函数,数据量大时,发送速度很慢,这个是什么问题啊?应该怎么修改程序呢?
socket中本地主机与远程主机的IP地址和端口号的确定
刚接触socket,就被整糊涂了。代码中的IP地址和端口号,到底是本地主机的还是远程主机的,令我傻傻分不清楚。查阅了很多资料今天终于搞明白了。        服务器与客户端基于TCPIP协议的TCP或UDP通信的过程由一个名叫五元组(协议,本地IP地址,本地端口号,远程IP地址,远程端口号)的东西来唯一标识。对于面向连接的通信(TCP协议)来说,服务器与客户端之间的连接建立完成后,这个五元组就确
Linux socket的阻塞与非阻塞
阻塞和非阻塞:        在网络编程中对于一个网络句柄会遇到阻塞IO和非阻塞IO的概念,这里对于两种socket先做一下说明:  阻塞IO:socket的阻塞模式意味着必须要做完IO操作(包括错误)才会返回(默认是阻塞的)例如:服务器端调用recvfrom,如果没有客户端没有发送数据,此时recvfrom处于阻塞态,就会一直阻塞下去  非阻塞IO:非阻塞模式下无论操作是否完成都立刻返回,需要通...
探讨下socket的阻塞与非阻塞
目前项目中需要负责的模块是GTP协议,GPRS网络协议的一种,如果谁熟悉这块请加我好友 谢谢!rnrn现在具体实现应该是用C语言,基于UDP/IP 的socket,GTP协议分为控制面和用户面,这两块实现rnrn循环接收发送过来的消息,使用recvfrom()函数,默认情况下,套接字应该是阻塞的,可以建立两个线程来实现rnrn现在我想问的就是,如果修改为非阻塞的模式,有什么好的解决方法rnrnselect模型 没怎么应用过,修改成非阻塞的,不知道性能上有没有改进rnrn另外考虑到程序移植,程序运行的平台是vxworks,不知道做成动态库还可以...
socket的初始化与IP地址的转换
socket是介于传输层和应用层之间的一个API,它比一般的网络前端更靠近底层,它可以直接基于TCP/UDP协议甚至网络层的IP协议进行编程。 WSAStartup()用于初始化windowssockets,返回WSADATA结构体,只有调用了WSAStartup()以后,才能继续调用windowssockets的其它API。需要包含头文件: #include "stdafx.h" #in
Socket 里 IP 地址问题。
在 .net下定义了一个 IPEndPoint 变量。运行时 设断点 在监视里看到 rnrn变量的 Address 值为 83994816。为什么不是 我们习惯的4位带点的IP地址?rnrnrn怎样转换?rnrn谢谢!!
socket阻塞与非阻塞的区别
socket阻塞与非阻塞的区别 socket socket阻塞与非阻塞的区别
C++ socket 阻塞与非阻塞
C++ Socket编程示例; 阻塞和非阻塞,涉及多线程编程,以及定时清除服务器连接资源;
tcp socket阻塞与非阻塞
1.sock默认为阻塞模式,下面的代码可对sock设置为非阻塞模式  int flags = fcntl(sock, F_GETFL, 0);     fcntl(sock, F_SETFL, flags | O_NONBLOCK); 2.假设当前代码为服务器,并且已经执行过如下代码, 当sock为阻塞模式,调用accept会阻塞直到一个请求到来 当sock为非阻塞模式,accept
关于socket的阻塞与非阻塞
在我创建了一个socket只后,我就用fcntl设置这个套接字为非阻塞模式;rnconnect和accept这两个函数是非阻塞的,rn我想问,recv和send这两个函数也是非阻塞的吗?
怎么获取绑定的socket的地址的端口号
udpsocket=socket(AF_INET,SOCK_DGRAM,0);rn addrSoc.sin_addr.S_un.S_addr=htonl(INADDR_ANY);rn addrSoc.sin_family=AF_INET;rn addrSoc.sin_port=htons(0);rnbinderr=bind(udpsocket,(SOCKADDR*)&addrSoc,sizeof(SOCKADDR));rn我这样获取 rnSOCKADDR_IN sockAddr; rn int iLen=sizeof(sockAddr); rn getsockname(udpsocket,(struct sockaddr *)&sockAddr,&iLen);rn char *ip=inet_ntoa(sockAddr.sin_addr);rn int port= sockAddr.sin_port;rnrn m_VIP.Format("%s:%d",ip,port);rnm_VIP 显示为:204.204.204.204:52428rnrn怎么获取呀?
如何通过Socket来获得IP和端口号?
如何通过Socket来获得IP和端口号?
JAVA socket 传送文件一直被阻塞
我写了一个简单的JAVA socket传送文件的程序如下:rnrn客户端:rnSystem.out.println("file download starts.");rnFile fDir = new File("./downloads");rnFile file = new File(fDir, "abc.txt");rnBufferedOutputStream bufr = new BufferedOutputStream(new FileOutputStream(file));rnbyte[] line = new byte[102400];rnint chunkSize;rnwhile((chunkSize = in.read(line))!= -1) rn bufr.write(line, 0, chunkSize); rn bufr.flush();rn Thread.sleep(10);rnrnbufr.close();rnSystem.out.println("file download completes");rnrn服务器端:rnFile file = new File(fDir, fileName);rnBufferedInputStream buffile = new BufferedInputStream(new FileInputStream(file));rnbyte[] line = new byte[102400];rnint chunkSize;rnSystem.out.println("file transmission start.");rnwhile ((chunkSize = buffile.read(line)) != -1) rn out.write(line, 0, chunkSize);rn Thread.sleep(10);rnrnbuffile.close();rnSystem.out.println("file transmission complete.");rnrn结果服务器端可以正常打印出"file transmission complete.",但是客户端程序总会进入死循环。rn看起来好像是因为read是阻塞方法,但是始终接收不到服务器端发来的文件结束符rn于是就卡在了chunkSize = in.read(line))!= -1这条语句一样。rn而当我把程序强行结束掉,客户端下载的文件就立即出现在硬盘里了,而且无任何损坏。看起来客户端已经成功的接受了文件的所有部件,就是因为阻塞方法read不能返回-1而导致一直卡在那不动。rn不知道我这两段代码有什么错误,导致了这种奇怪的阻塞,求教啊!!谢谢
如何唤醒socket被阻塞的函数
最近项目遇到一个问题,程序退出的时候资源没有正常释放。经过调试发现,原来是网络线程一直阻塞,导致一些必要的资源没有被释放,写了几个简单的测试程序调试了一下才明白,原来在Linux下直接close socket的文件描述符,并不会使程序中调用的一些阻塞式的socket函数(比如 read、recvfrom 等)退出阻塞,从而导致无法正常释放资源。简化示例如下。 ...
C#异步Socket被ShowDialog阻塞的问题
以前一直自己开线程处理,后来发现异步模型挺方便就试了下然后就遇到这个问题rn比如BeginReceive这种东西,如果主窗体调用了ShowDialog,数据就收不到了rn如果我在新线程里BeginReceive,似乎还是不能解决这个问题一样卡住,难道最后又回到了主线程?rn如果我在新线程里ShowDialog,倒是不会卡住了,但是ShowDialog卡住主窗体的效果也不存在了rn难道BeginReceive只适合做无界面或者没ShowDialog的了么?还是有什么其他解决方案rn求科普
Socket的发数据和收数据的机制是什么?
发是立刻发,还是放在缓冲区,达到一定值再发?rn收时是否先放在缓冲区,等到Socket来及处理时再从缓冲区读出,rn有可能一次数据在收时要几次得到,rn收时截断的地方任意,有没有什么好方法来处理?rn是否可以利用类似“传输数据块类型|数据块长度”来处理,rn那么有没有可能正好在“传输数据块类型”或“数据块长度”处截断,rn这样处理岂不是很复杂?rn
socket的阻塞和异步有何不同?
socket的阻塞和异步有何不同?
Android 执行Socket socket = new Socket(ip, port)就崩溃
Android 执行Socket socket = new Socket(ip, port)就崩溃rn抛出个异常:android.os.NetworkOnMainThreadExceptionrnrnrnwhy????????rn
关于SOCKET最大端口号?
理论上SOCKET的最大端口号是65535吧,可我将TCP/IP服务器端口号设为66000,客户端连接、收发数据正常毫无问题,这个怎么解释?
socket和端口号,什么区别?
如题
请教:SOCKET端口号问题。
已知某个SOCKET值,它绑定到某个端口,请问怎么通过SOCKET获取它绑定的端口号是多少???rn谢谢!
socket和端口号的关系
一个socket绑定了端口号8888,然后有个客户端连接了这个socket和端口号正在传输文件,rnrn这时候又有一个文件传输请求要连接8888,会怎么样?rnrn如何能实现让这2个任务同时向这个socket发送数据?这个socket能同时绑定两个端口号吗?
如何通过socket句柄获取socket的端口号??
我用的socket没有bind,而是由系统选择随机端口的。rn如何通过socket句柄获取到socket绑定在那个端口上呢?rnrn多谢啦!
socket阻塞的问题
各位大虾,小弟在调试8688的wifi过程当中发现,连接ap时发送psk密码的命令会延时很长时间。然后一路跟踪,发现在wpa_supplicant的代码中有这么一段:rnrnif (send(ctrl->s, _cmd, _cmd_len, 0) < 0) rn os_free(cmd_buf);rn return -1;rn rn os_free(cmd_buf);rnrn for (;;) rn#ifdef ANDROIDrn tv.tv_sec = 10;rn#elsern tv.tv_sec = 2;rn#endifrn tv.tv_usec = 0;rn FD_ZERO(&rfds);rn FD_SET(ctrl->s, &rfds);rn [b]res = select(ctrl->s + 1, &rfds, NULL, NULL, &tv);//阻塞发生在这里[/b][color=#FF0000][/color] if (FD_ISSET(ctrl->s, &rfds)) rn res = recv(ctrl->s, reply, *reply_len, 0);rnrn我想请问大侠们,这个阻塞的原因是什么呀?如何继续跟踪问题呢?谢谢!!
java中非阻塞的socket
java中Socket类默认是阻塞的。如果想使用非阻塞的socket该如何做呢?
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件