写了一个跟JAVA连接的SOCKET程序,但是消息发不出去,发出去的消息提示发送成功,但是对放收不到,等断开SOCKET连接后发送的消息对方才收到,也不知道是哪里出了问题
public void send(string str)
{
try
{
byte[] mybyte=new byte[64];
mybyte=System.Text.Encoding.UTF8.GetBytes(str.ToCharArray());
if(socket.Connected)
{
socket.Send(mybyte,mybyte.Length,0);
MessageBox.Show("ok!");
}
else
{
MessageBox.Show("NO!");
}
}
catch
{
MessageBox.Show("error!");
}
}
这是我发送的代码
一开始缓冲区设的是1024以为太大了改成了64还是不行,但是把接受影响了,现在对放发两条消息我就只能收到一条
public void rec()
{
if(socket.Connected)
{
while(mybool)
{
//sr=new s
byte[] mybyte=new byte[1024];
socket.Receive(mybyte);
str=System.Text.Encoding.UTF8.GetString(mybyte,0,mybyte.Length);
MessageBox.Show(str);
//pCallBack(str);
}
}
}
这是我接受的代码
各位走过的路过的大哥们帮忙看看啊!!我急啊做了N天也没弄出来啊
public void send(string str)
{
try
{
byte[] mybyte=new byte[64];
mybyte=System.Text.Encoding.UTF8.GetBytes(str.ToCharArray());
if(socket.Connected)
{
socket.Send(mybyte,mybyte.Length,0);
MessageBox.Show("ok!");
}
else
{
MessageBox.Show("NO!");
}
}
catch
{
MessageBox.Show("error!");
}
}
这是我发送的代码
一开始缓冲区设的是1024以为太大了改成了64还是不行,但是把接受影响了,现在对放发两条消息我就只能收到一条
public void rec()
{
if(socket.Connected)
{
while(mybool)
{
//sr=new s
byte[] mybyte=new byte[1024];
socket.Receive(mybyte);
str=System.Text.Encoding.UTF8.GetString(mybyte,0,mybyte.Length);
MessageBox.Show(str);
//pCallBack(str);
}
}
}
这是我接受的代码
各位走过的路过的大哥们帮忙看看啊!!我急啊做了N天也没弄出来啊
就这些建议了
bySend = System.Text.Encoding.Default.GetBytes(textBox1.Text) ;
//发送数据
stSend0.Send(bySend ) ;
bufLen = client.Available ;
FL = client.Receive(buffer,0,bufLen,SocketFlags.None);//FL为可用数据的长度